본문 바로가기

반응형

Programings

(23)
[Algorith] 이진 트리 (Tree) - 레벨 순회 (Level-Order Traverse) A -> B -> C -> D -> E -> F -> G 순서로 나온다. 레벨 순회는 스택보다 큐를 사용하는 것이 바람직 하다. /*------------------*/ /* main.c */ /*------------------*/ #include "Appendix.h" /* Definition of External Functions */ extern void InitializeQueue(void); extern void Put(NODE *); extern NODE *Get(void); extern int IsQueueEmpty(void); /* Definition of Internal Functions */ void InitializeTree(void); // 트리의 기본적인 헤드와 엔드 노드를 만는..
[Algorith] 이진 트리 (Tree) - 후위 순회 (Post-Oreder Traverse) /*------------------*/ /* main.c */ /*------------------*/ #include "Appendix.h" /* Definition of External Functions */ extern void InitializeStack(void); extern void Push(NODE *); extern NODE *Pop(void); extern int IsStackEmpty(void); /* Definition of Internal Functions */ void InitializeTree(void); // 트리의 기본적인 헤드와 엔드 노드를 만는다. void MakeTree(void); // 트리의 기본적으로 들어갈 데이터의 값을 만든다. void Traverse(NOD..
[Algorith] 이진 트리 (Tree) - 중위 순회 (In-Order Traverse) { D -> B -> E -> A -> F -> C -> G 순서로 이동한다. 전위 순회의 코드를 이용하여 Traverse() 함수만 바꿔주면 된다. /*------------------*/ /* main.c */ /*------------------*/ #include "Appendix.h" /* Definition of External Functions */ extern void InitializeStack(void); extern void Push(NODE *); extern NODE *Pop(void); extern int IsStackEmpty(void); /* Definition of Internal Functions */ void InitializeTree(void); // 트리의 기본적인 ..
[Algorith] 이진 트리 (Tree) - 전위 순회 (Pre-Order Traverse) 나오는 순서는 위 그림과 같이 A -> B -> D -> E -> C -> F -> G 순서이다. /*------------------*/ /* main.c */ /*------------------*/ #include "Appendix.h" /* Definition of External Functions */ extern void InitializeStack(void); extern void Push(NODE *); extern NODE *Pop(void); extern int IsStackEmpty(void); /* Definition of Internal Functions */ void InitializeTree(void); // 트리의 기본적인 헤드와 엔드 노드를 만는다. void MakeTree..
[Data Struct] 큐 (Queue) - 링크드 리스트를 이용한 큐 #include #include typedef struct _NODE // 새로운 타입 선언 { int Data; struct _NODE *Next; } NODE; NODE *Front, *Rear; // Front = Get()함수를 쓸때 데이터 가져오기, Rear은 Put() 함수를 쓸때 데이터 저장하기 위해 사용 NODE *ptrNode; void InitializeQueue(void); void Put(int); void DisplayQueue(void); int Get(void); void main() { int ret; InitializeQueue(); printf("Put() 함수를 호출해 보죠!\n"); Put(1); Put(3); Put(10); Put(20); Put(12); print..
[Data Struct] 스택 (Queue) - 배열을 이용한 스택 Put() - 자료를 넣는 함수 Get() - 자료를 빼는 함수 #include #define MAX 100 /* Queue 선언 */ int Queue[MAX]; int Front, Rear; void InitializeQueue(void); // 큐 초기화 함수 void Put(int); // 데이터의 삽입 void DisplayQueue(void); // 큐를 보여줌 int Get(void); // 데이터의 꺼냄 void main() { int ret; InitializeQueue(); Put(1); Put(3); Put(10); Put(20); Put(12); printf("\n다섯 번의 Put() 호출 후 결과 \n"); DisplayQueue(); ret = Get(); ret = Get();..
ASCII Code Table American Standard Code for Information Interchange
[Data Struct] 스택 (Stack) - 링크드 리스트를 이용한 스택 스택은 쌓다의 의미 모든 스택의 공통점 LIFO 형식 (Last in First out) Pop() - 스택에서 꺼내는 함수 Push() - 스택에 넣는 함수 링크드 리스트를 사용 할 수 있고 배열을 사용 할 수도 있다. #include #include typedef struct _NODE { int Data; struct _NODE *Next; } NODE; NODE *head, *end; NODE *ptrNode; void InitializeStack(void); void Push(int); void DisplayStack(void); int Pop(void); int main() { int ret; InitializeStack(); Push(1); Push(3); Push(10); Push(20);..

반응형