[[TableOfContents]] = 오늘의 실습 내용 = * [https://www.acmicpc.net/problem/2178 미로 탐색] * [https://www.acmicpc.net/problem/1918 후위표기식] * [https://www.acmicpc.net/problem/1991 트리 순회] = 신원준 = == 미로 탐색 == {{{ (코드를 여기에) }}} == 후위표기식 == {{{ (코드를 여기에) }}} == 트리 순회 == {{{ (코드를 여기에) }}} = 이민욱 = == 미로 탐색 == {{{ #include #include typedef struct __Node{ char Data; struct __Node* Left; struct __Node* Right; } Node; void SetNode(Node* node, char data); Node* SearchNode(Node* tree, char data); void SetLeft(Node* Root, Node* Child); void SetRight(Node* Root, Node* Child); void DestroyTree(Node* Root); void preorder(Node* Root); void Inorder(Node* Root); void Postorder(Node* Root); int main(){ int i, j; int N; char Parent, Right, Left; Node *tmp, *tmp2; Node* Root = (Node*)malloc(sizeof(Node)); SetNode(Root, 'A'); scanf("%d", &N); for(i=0;iLeft=NULL; node->Right=NULL; node->Data = data; } Node* SearchNode(Node* tree, char data){ Node* tmp; if(tree==NULL) return NULL; if(tree->Data==data) return tree; tmp=SearchNode(tree->Left, data); if(tmp!=NULL) return tmp; tmp=SearchNode(tree->Right, data); if(tmp!=NULL) return tmp; return NULL; } void DestroyTree(Node* Root){ if(Root==NULL) return; free(Root); DestroyTree(Root->Left); DestroyTree(Root->Right); } void SetLeft(Node* Root, Node* Child){ Root->Left = Child; } void SetRight(Node* Root, Node* Child){ Root->Right = Child; } void preorder(Node* Root){ printf("%c", Root->Data); if(Root->Left!=NULL) { preorder(Root->Left); } if(Root->Right!=NULL) { preorder(Root->Right); } } void Inorder(Node* Root) { if(Root->Left!=NULL) { Inorder(Root->Left); } printf("%c", Root->Data); if(Root->Right!=NULL) { Inorder(Root->Right); } } void Postorder(Node* Root){ if(Root->Left!=NULL) { Postorder(Root->Left); } if(Root->Right!=NULL) { Postorder(Root->Right); } printf("%c", Root->Data); } }}} == 후위표기식 == {{{ (코드를 여기에) }}} == 트리 순회 == {{{ (코드를 여기에) }}} = 정석우 = == 미로 탐색 == {{{ (코드를 여기에) }}} == 후위표기식 == {{{ (코드를 여기에) }}} == 트리 순회 == {{{ (코드를 여기에) }}}