[소스 코딩] ※ 이진 트리는 이전에 구현한 'BinaryTree2.h', 'BinaryTree2.c'를 활용※ 스택은 이전에 구현한 'ListBaseStack.h', 'ListBaseStack.c'를 활용 ■ ExpressionTree.h#ifndef EXPRESSIONTREE_H_#define EXPRESSIONTREE_H_ #include "BinaryTree2.h" BTreeNode * MakeExpTree(char exp[]); // 입력 받은 후위 표기법 수식을 수식 트리로 변환int EvaluateExpTree(BTreeNode * bt); // 수식 트리의 연산 void ShowPrefixTypeExp(BTreeNode * bt); // 변환된 수식 트리를 전위 표기법으로 출력void Sh..
[수식 트리의 개념]- 전위/중위/후위 표기법과 같은 하나의 수식을 표현하는 방식 ■ 그림(수식 트리의 예) ※ 수식 예: 9 – 6 / 2 + 4 ■ 그림(수식 트리의 연산 과정) [수식 트리의 구현 과정]- 중위 표기법의 수식을 입력 받음 → 수식 트리로 표현- 연산자, 피연산자는 스택으로 관리 [수식 트리의 표현]- 후위 표기법의 수식에서 앞쪽에 등장하는 피연산자와 연산자로 트리의 하단을 만들고, 계속해서 뒤 (피)연산자들을 그 위로 계속해서 구성해 나감 ■ 그림(수식 트리의 구성 과정) - 후위 표기법 수식 '8 2 - 2 /'를 스택을 활용하여 수식 트리로 구성 - 수식에서 조회된 문자가 '피연산자'이면 스택에 넣음 - 위와 동일 - 수식에서 조회된 문자가 '연산자'이면 스택에 저장된 피연산자를..
[순회 종류] ■ 그림(중위, 후위, 전위) 1. 중위 순회: 루트 노드의 왼쪽 자식 노드를 먼저 방문 후에 루트 노드를 중간에 방문하는 방식2. 후위 순회: 루트 노드의 왼쪽 자식, 오른쪽 자식을 방문 후 루트 노드를 마지막에 방문하는 방식3. 전위 순회: 루트 노드를 먼저 방문 후 왼쪽 자식, 오른쪽 자식을 방문하는 방식 [순회의 재귀] ■ 그림(중위 순회 재귀) ■ 이진 트리를 대상으로 중위 순회를 할 경우의 순회 순서1단계: 왼쪽 서브 트리의 순회2단계: 루트 노드의 방문3단계: 오른쪽 서브 트리의 순회 ※ 공집합(NULL) 값을 가진 노드를 방문하기 전까지 하위 단계로 순회를 반복 [소스 코딩] ※ 이전에 사용한 '이진 트리 구현(BinaryTree.h, BinaryTree.c)' 소스를 업데이..
[배열 기반과 연결 리스트 기반] ■ 그림(배열 기반 트리) - 트리가 완성 된 이후부터는 그 트리를 대상으로 매우 빈번한 탐색이 이뤄지기 때문에 연결 리스트보다 탐색이 빠른 이점이 있음- 노드에 번호가 부여됨 ※ 인덱스 '0'은 사용해도 문제없으나 인덱스 번호와 노드 번호 매치를 위해 편의상 사용하지 않음 ■ 그림(연결 리스트 기반 트리) - 연결 리스트 구성 형태와 트리 형태와 일치한다는 점 ※ 우선 연결 리스트 기반으로 구현. 배열 기반은 '완전 이진 트리의 구조를 갖는 '힙(heap)'이라는 자료구조 구현 시 활용할 예정 [이진 트리의 ADT] BTreeNode * MakeBTreeNode(void);- 이진 트리 노드를 생성하여 그 주소 값을 반환 int GetData(BTreeNode * bt..
[트리의 개념]- 트리는 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조 ■ 그림(트리의 계층 개념) ■ 중요 포인트- 데이터의 저장, 검색 및 삭제 등의 기능의 정의보다, 무엇인가를 표현하기에 적절히 정의되었는지가 더 중요 [트리 관련 용어] ■ 그림(트리 표현) ■ 관계- 노드간에는 '부모(Parent), 자식(Child), 형제(Sibling)'의 관계가 성립되어 있음- 노드 'A'는 노드 'B, C, D'의 부모 노드- 노드 'B, C, D'는 노드 'A'의 자식 노드- 노드 'B, C, D'는 부모 노드가 같으므로, 서로가 서로에게 형제 노드 1. 노드(Node)- 트리의 구성요소에 해당하는 'A, B, C, D, E, F'와 같은 요소 2. 간선(Edge)- 노..
- Total
- Today
- Yesterday
- 여행영어 100일의 기적
- wfd
- 독해
- tdataset
- 대상
- Delphi
- RA
- 작문
- 자료구조
- 알고리즘
- VCL
- 정렬
- Pte
- ADODB
- 일기
- Reference
- 상황
- 왕초보 영어회화 100일의 기적
- SWT
- SysUtils
- 문법
- 설명
- 스택
- 계산기
- 교육센터
- 영어
- 말하기
- System
- java
- 응용
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |