• 검색 결과가 없습니다.

데이터 구조 실습 (14주차)

N/A
N/A
Protected

Academic year: 2021

Share "데이터 구조 실습 (14주차)"

Copied!
2
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

- 1 -

데이터 구조 실습 (14주차)

2021. 6. 2

1. 다음 이진 트리 T에 대해서 답하시오.

a. T를 배열로 표현하라. 이때 노드 7, 8, 9의 배열 요소 인덱스는 무엇인가?

b. a)로부터 노드의 인덱스가 i일 때, 부모 노드, 왼쪽 자식 노드, 오른쪽 자식 노드의 인덱 스는 각각 무엇인가?

c. 이진 트리 T를 다음 4가지 방법으로 순회하고자 한다. 각 순회 결과는 무엇인가?

1) 전위 순회:

2) 중위 순회:

3) 후위 순회:

d. c)의 각 순회를 위한 알고리즘을 재귀적 버전으로 작성하라.

1) preorder(T, idx) // T는 트리를 표현하는 배열이고, idx는 트리 노드에 대한 인덱스이다.

2) inorder()

3) postorder()

e. 다음과 같이 main()을 작성하고, 테스트하라. (main() 수행 결과를 c)의 결과와 비교하라)

int main() {

T의 배열 선언 preorder(T, 1);

inorder(T, 1);

postorder(T, 1);

return 0;

}

(2)

- 2 -

2. 다음은 디렉토리를 보여준다. 한 디렉토리에 대한 서브디렉토리의 개수는 최대 2개이다.

다음에 답하시오.

a. 위의 디렉토리를 이진 트리로 구성하라. 트리의 노드는 (data, left, right)의 구조체로 표 현된다. 여기서 data는 디렉토리 용량을 나타내며, left, right는 서브 디렉토리를 가리키는 데 사용되는 링크(포인터)이다.

b. a)에서 구성된 디렉토리 D가 주어졌을 때, D의 전체 용량을 계산하여 반환하는 알고리즘 calc_dir()를 재귀적으로 작성하라. 루트 디렉토리(‘나의 문서’)의 용량은 0이다.

c. 다음과 같이 main()을 작성하고, 테스트하라.

트리 노드 타입 정의: TreeNode int main() {

TreeNode *T;

T = cons_dir(); // a)의 트리를 구성하여 반환 calc_dir(T);

return 0;

}

참조

관련 문서

• 오른쪽 서브 트리의 키들은 루트의 키보다 크다.. • 왼쪽과 오른쪽 서브 트리도

 현재 디렉토리 클래스에 포함된 모든 요소(디렉토리 또는 파일)를 하나하나 꺼내서 그 사이즈를 합한다..  아래 코드에서, entry가 File의 인스턴스나

그림(3)의 동력행정에서는 압축행정이 끝나는 상사점의 조금 전에 점화 플러그의 불꽃에 의해 혼합기에 점화되면, 혼합기가 연소하여 발생한 고압가스의 압력을 받

다음 단계는 흐름 시스템(하천 시스템 모형도), 횡단면 데이터, 그리고 수리 구조 데이터(교량, 암거, 위어 등등)에 대한 정보와 관련성을 구성하고 있는,

CHAP 3:배열,

동시에 적극적인 에너지 절감 대안으로 검토하고 있는 연료전지, 지열 시 스템과 같은 설비설계를 위해서는 기존 공동주택 단지에 대한 에너지 사용량 데 이터를 토대로

감속할 때는 가속 페달을 갑자기 놓으므로, 엔진이 고속회전하고 있을때 스로틀 밸브를 급히 닫으면 매니폴드에 순간적으로 강한 진공이 발생하여 저속회로를 통 해

자동차전기 장치에 전원 공급원은 배터리와 발전기가 있다. 하지만 배터리 전원은 한계가 있기 때문에 시동 중 에는 배터리 충전과 각종 전기장치 전원의