DS Binary Tree Traversal
2015-08-16 17:24:12

//Data Structure

//Binary Tree Traversal Pre-order, In-order, Post-order

#include <iostream>

#include <stdio.h>

#define MAX_M 26

using namespace std;

//adjacent list

char tree[MAX_M][2];

int tree_len[MAX_M];

void preorder_traverse(int node){

cout <<" "<< (char)(node + 'A');

if(tree_len[node] > 0) preorder_traverse(tree[node][0]);

if(tree_len[node] > 1) preorder_traverse(tree[node][1]);

}

void inorder_traverse(int node){

if(tree_len[node] > 0) inorder_traverse(tree[node][0]);

cout <<" "<< (char)(node + 'A');

if(tree_len[node] > 1) inorder_traverse(tree[node][1]);

}

void postorder_traverse(int node){

if(tree_len[node] > 0) postorder_traverse(tree[node][0]);

if(tree_len[node] > 1) postorder_traverse(tree[node][1]);

cout <<" "<< (char)(node + 'A');

}

int main(){

int T, test_case;

int N;

freopen ( "sample_input.txt", "r", stdin );

cin >> T;

for(test_case = 1; test_case <= T; test_case++){

//initialization

for(int i=0;i<MAX_M;i++){

tree_len[i]=0;

}

//input

cin >> N;

for(int i=0;i<N;i++){

char cp,cc;

cin >> cp >> cc;

tree[cp-'A'][tree_len[cp-'A']] = cc - 'A';

tree_len[cp - 'A']++;

if(tree_len[cp - 'A']>2){

cout << "OOPS!!" << endl;

}

}

cout << "adjacent tree" << endl;

for(int i=0;i<MAX_M;i++){

if(tree_len[i]!=0){

cout << (char)(i+'A') << ":";

for(int j=0;j<tree_len[i];j++){

cout << " " << (char)(tree[i][j] + 'A');

}

cout << endl;

}

}

//pre-order traversal(binary tree only)

cout << "preorder_traverse : " << endl;

preorder_traverse(0);

cout << endl;

//in-order traversal(binary tree only)

cout << "inorder_traverse : " << endl;

inorder_traverse(0);

cout << endl;

//post-order traversal(binar tree only)

cout << "postorder_traverse : " << endl;

postorder_traverse(0);

cout << endl;

//DFS

//BSF

}

return 0;

}

▼ more
결국 무언가를 하려면
2015-08-16 14:34:11

시간을 들여야 한다.

시간을 들이지 않는 이유는 게을러서 일 수 도 있지만 아무래도 나의 경우에는

오히려 짧은 시간에 무언가 이루어야 한다는 불안과 조급함이 그 무엇도 시작하지 못하게

만드는 것 같다.

다행히 확실하게 무엇을 언제까지 마무리 해야한다는 것이 정해져 있을때는 집중 할 수도 있겠지만,

그렇게 단기적인 계획을 성취하는 것 만으로는 도약을 할 수는 없다.

시간을 들여 무엇을 하는 자체에 큰 의미가 있음을 잊지말아야 하며 실패나 더딘 진전도 과정이라는 점을 명심해야 한다.

▼ more
문자열 설명 보충
2015-08-10 22:35:19

KMP 부분을 좀 강조해서 적었으나 원래 PPT 와는 약간 달라짐.

▼ more
다이어트
2015-08-09 18:28:21

72.3

69.6 에서 무려 2.7 Kg 이 다시!!

▼ more