본문 바로가기

반응형

자료구조

(4)
[자료구조]스레드 적용한 이진탐색트리 09학년도 항공대 컴공과 2학년 자료구조 수업에 제출된 자료입니다 ▷ 헤더부 (BSTnode.h) #ifndef _NODE_H_ #define _NODE_H_ #include "thredBST.h" class thrededBST; // 전방선언 class BSTnode{ friend thrededBST; // 참조클래스 public: BSTnode(); // 생성자 private: BSTnode *LeftChild; // 왼쪽링크 int data; // 데이터링크 BSTnode *RightChild; // 오른쪽링크 }; #endif (thredBST.h) #ifndef _THRED_H_ #define _THRED_H_ #include "BSTnode.h" class thrededBST{ private:..
[자료구조]정방 밴드 행렬 & 일반화된 밴드 행렬 1. 문제개요 교재 C++자료구조론에 수록된 2.8연습문제 7,8번을(1판 기준) 풀이한 후 그 풀이를 작성하여 보고서로 제출 하도록 한다. 2. 문제분석 - 밴드행렬은 무엇인가 ▷ 행렬의 주대각선을 기준으로 정의된 밴드만큼만 원소가 존재하는 행렬이다. ▷ 주대각선을 기준으로 양쪽 밴드의 크기가 같으면 정방 밴드 행렬(square band matrix)라 칭한다. ▷ 위와는 반대로 주대각선을 기준으로 양쪽 밴드행렬의 크기가 다르면 일반화된 밴드 행렬 이라고 창한다. - 문제의 요구사항은 무엇인가 ▷ 정방 밴드 행렬과 일반화된 밴드행렬의 원소의 수를 구하는 식의 유도. ▷ 각 밴드 행렬에서 행을 나타내는 i와 열을 나타내는 j의 관계설명. ▷ 각각의 밴드 행렬의 1차원의 배열에 저장할 때 각 원소의 위치(..
[자료구조]C++ 마방진 생성과 시간복잡도 1. 문제개요 C++을 이용하여서 Magic Square(마방진)을 생성하는 프로그램을 작성 하고난 후 완성된 프로그램의 시간 복잡도를 측정하여 직접 기술 해볼 수 있도록 한다. 알고리즘은 교재의 것을 사용하되 교재에 수록되어있는 소스코드는 참고치 아니하고 작성하도록 한다. 2. 문제분석 - 마방진이란 무엇인가 ▷ n X n 형식의 정방형의 공간에 가로, 세로, 대각선 각각의 원소의 합이 모두 같은 형식의 행렬.(아래예시) 열 0 1 2 행 0 6 1 8 1 7 5 3 2 2 9 4 - 마방진의 구현방법 ▷ 정수형 변수 n을 입력받은 후에 n² 만큼의 배열을 생성한다. ▷ 생성된 배열의 (0, (n-1)/2)부터 1을 입력하고, 마방진 알고리즘에 의해 프로그램을 구동. ▷ 해당 배열위치에 입력이 끝나면 ..
[자료구조]피보나치 수열 재귀와 비재귀 1. 문제개요 C++을 이용하여 피보나치수열을 프로그래밍 하여본다. 단, 비재귀함수를 이용한 피보나치수열과 재귀함수를 이용한 피보나치수열 두 종류로 과제를 수행할 수 있도록 한다. 이때 각각의 방법에서 피보나치수열을 수행하는 함수가 몇 번 실행되었는지 Static 변수를 이용하여 출력할수 있도록 한다. 2. 문제분석 - 피보나치수열이란 무엇인가 ▷ Fn = F(n-2) + F(n-1) 의 형식을 가지고 있는 수열을 피보나치수열이라 한다. - 비재귀함수의 구현방법 ▷ 반복문을 사용하여 입력받은 숫자만큼의 피보나치수열을 출력한다. - 재귀함수의 구현방법 ▷ 출력할 개수만큼을 입력받은 만큼 반복문을 수행한다. 반복문을 통하여 넘어오는 숫자를 비교하여 첫 번째와 두 번째 수열은 1을 리턴하고, 세 번째 이상의 ..

반응형