untitled



Similar documents
슬라이드 제목 없음

Microsoft PowerPoint - 제9장-트리의응용.pptx

chap 5: Trees

Microsoft PowerPoint - Chap5 [호환 모드]

K&R2 Reference Manual 번역본

Microsoft PowerPoint - 자료구조2008Chap07

untitled

5.스택(강의자료).key

03장.스택.key

제 1 장 기본 개념

Chapter 4. LISTS


7장

Microsoft PowerPoint - Chap5 [호환 모드]

4.1 관계

Chapter 4. LISTS

Chap 6: Graphs

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

chap01_time_complexity.key

chap 5: Trees

Chapter 4. LISTS

11강-힙정렬.ppt

?

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

<4D F736F F F696E74202D20C1A637C0E52DB0EDB1DEBFACB0E1B8AEBDBAC6AE2E >

Chap 6: Graphs

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

chap x: G입력

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제8장-트리.pptx

08장.트리

11장 포인터

03_queue

2014밝고고운동요부르기-수정3

2005프로그램표지

untitled

No Title

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - 자료구조2008Chap06

6주차.key

슬라이드 1

C프로-3장c03逞풚

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

chap8.PDF

슬라이드 1

슬라이드 1

ABC 10장

13주-14주proc.PDF

05_tree

슬라이드 1

OCaml

본 강의에 들어가기 전

슬라이드 1

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

슬라이드 1

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

Chap 6: Graphs

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

슬라이드 1

chap7.key

o 스택 (stack) ~ 쌓아놓은더미 1. 스택의개요 - 2 -


PowerPoint 프레젠테이션

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

untitled

PowerPoint 프레젠테이션

슬라이드 1

Frama-C/JESSIS 사용법 소개

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾


슬라이드 1

Contents v 학습목표 자료구조큐에대한개념을스택과비교하여이해한다. 큐의특징과연산방법에대해알아본다. 순차표현방법을이용한큐와연결표현방법을이용한큐를구현해본다. 큐의응용방법을알아본다. v 내용 큐 큐의구현 큐의응용 2/74

UI TASK & KEY EVENT

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp

e-비즈니스 전략 수립

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

슬라이드 1

untitled

chap x: G입력

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

Microsoft PowerPoint - 제4장-스택과큐.pptx

CTS사보-9월13,000부(수정)

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

1장. 유닉스 시스템 프로그래밍 개요

C 언어 강의노트

Microsoft PowerPoint - ch12 - Graph, Graph Algorithms

Microsoft PowerPoint - 07-chap05-Stack.ppt

zb 2) zb3) 나 위 시와 보기의 공통적인 표현 방법이 아닌 것은? 뻐꾹새야 뻐꾹새야 뻐꾹뻐꾹 울어 주면 < 보기> 고개를 넘어서 마을로 뻐꾹새야 뻐꾹새야 뻐꾹뻐꾹 울어 주면 밭을 매는 우리 엄마 허리 허리 덜 아프고 ᄂ밭을 매는 우리 엄마 허리 허리 덜 아프고

/chroot/lib/ /chroot/etc/

Java

Microsoft PowerPoint - chap10_tree

Lab 3. 실습문제 (Single linked list)_해답.hwp

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

untitled

Transcription:

1.

void inorder(tree_ptr ptr) { if(ptr) { inorder(ptr->left_child); printf( %d,ptr->data); inorder(ptr->right_child);

2) => A / B * C * D + E ()

A / B * C * D + E

void preorder(tree_ptr ptr) { if(ptr) { printf( %d, ptr->data); preorder(ptr->left_child); preorder(ptr->right_child);

void postorder(tree_ptr ptr) { if(ptr) { postorder(ptr->left_child); postorder(ptr->right_child); printf( %d, ptr->data);

/* iterative inorder tree traversal */ void iter_inorder(tree_ptr node) { int top = -1; tree_ptr stack[max_stack_size]; while(1) { while(node) { push(&top, node); node = node->left_child; node = pop(&top); if(!node) break; printf( %d, node->data); node = node->right_child;

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

void level_order(tree_ptr ptr) { int front = rear = 0; tree_ptr queue[max_queue_size]; if(!ptr) return; add(front,&rear,ptr); for(;;) { ptr = delete(&front, rear); if(ptr) { printf( %d, ptr->data); if(ptr->left_child) add(front,&rear,ptr->left_child); if(ptr->right_child) add(front, &rear,ptr->right_child); else break;

2. (Threaded) left_child data right_child data left_child right_child

- ptr->left_thread = ptr->left_child - ptr->left_thread = ptr->left_child - ptr->right_thread = ptr->right_child - ptr->right_thread = ptr->right_child

struct tnode { ; short int left_thread; struct tnode *left_child; char data; struct tnode *right_child; short int right_thread; typedef struct tnode threaded_tree; typedef threaded_tree *threaded_ptr; left_thread left_child data right_child right_thread

left_thread left_child data right_child right_thread TRUE FALSE

root f = FALSE t = TRUE

threaded_ptr insucc(threaded_ptr tree) { threaded_ptr temp; temp = tree->right_child; if(!tree->right_thread) while(!temp->left_thread) temp = temp->left_child; return temp; void tinorder(threaded_ptr tree) { threaded_ptr temp = tree; for(;;) { temp = insucc(temp); if(temp = tree) break; printf( %3c, temp->data);

void insert_right(threaded_ptr parent, threaded_ptr child) { threaded_ptr temp; child->right_child=parent->right_child; (4) child->right_thread=parent->right_thread; (2) child->left_child=parent; (3) child->left_thread=true; (2) parent->right_child=child; (5) parent->right_thread=false; (1) if(!child->right_thread) { /* */ temp=insucc(child); temp->left_child=child;

root root parent parent child child

root root parent parent child child

3. /* program copy() */ tree_ptr copy(tree_ptr original) { tree_ptr temp; if(original) { temp = (tree_ptr)malloc(sizeof(node)); if(is_full(temp)) exit(1); temp->left_child = copy(original->left_child); temp->right_child = copy(original->right_child); temp->data = original->data; return temp; return NULL;

/* program equal() */ int equal(tree_ptr first,tree_ptr second) { return ((!first &&!second) (first && second && (first->data == second->data) && equal(first->left_child, second->left_child) && equal(first->right_child, second->right_child)));

Review