'2010/05/14'에 해당되는 글 3건

  1. 2010.05.14 연결리스트를 이용한 이진트리의 순회방법
  2. 2010.05.14 트리의 배열표현 방법
  3. 2010.05.14 큐 만들기

연결리스트를 위해 구조체를 정의하였다.


typedef struct TreeNode{
char * data;
struct TreeNode * left;
struct TreeNode * right;
}TreeNode;

그리고 3가지의 순회방법이 있는데

전위, 중위, 후위가 있다.

전위는
root-left-right
중위는
left-root-right
후위는
left-right-root


트리구조는 이렇게 만들었다.


순회를 시키면
이런 순으로 트리를 순회하는 것이다.

'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글

유전 알고리즘  (0) 2010.06.10
영향력 분포도  (0) 2010.06.10
트리의 배열표현 방법  (0) 2010.05.14
큐 만들기  (0) 2010.05.14
스택만들기  (0) 2010.05.13
Posted by 아몰라

우선 이진트리란 루트노드가 있으면  하나의 루트노드당 왼쪽노드와 오른쪽노드 두개의 노드만 있을 수 있는 트리 구조이다.

배열로 이진트리를 표현하는 방법은 부모 노드의 인덱스가 i라하면
왼쪽자식노드는 [i*2] 오른쪽자식노드는[i*2+1]이 된다.

반대로 자식의 부모를 알아볼려고 할 때는 [i/2]를  하여서 나온 몫이 부모가 되게 된다.
그러므로 루트노드는 1부터 시작한다. 아무리 나눠도 0으로 나눌수 없기 때문이다.

'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글

영향력 분포도  (0) 2010.06.10
연결리스트를 이용한 이진트리의 순회방법  (0) 2010.05.14
큐 만들기  (0) 2010.05.14
스택만들기  (0) 2010.05.13
LCD 디스플레이  (0) 2010.05.13
Posted by 아몰라

큐는 스택과는 다르게 FIFO 방식으로 먼저 들어온 녀석이 먼저나가는 방식이다.

그냥 일반큐를 만들어보았다.

구조체를 이용해 front, rear, count, q 를 하나로 통합시켰다.

typedef struct{
 int q[QueueSize+1];
 int front;
 int rear;
 int count;
}queue;


front에서는 Dequeue할 원소를 가르키고 있고 rear에서는 삽입할 자리를 가르키고있다. 또 count를
이용해 Deque나 Enqueue가 가능한지 확인하도록 사용하였다.

'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글

연결리스트를 이용한 이진트리의 순회방법  (0) 2010.05.14
트리의 배열표현 방법  (0) 2010.05.14
스택만들기  (0) 2010.05.13
LCD 디스플레이  (0) 2010.05.13
여행(The Trip)  (0) 2010.05.11
Posted by 아몰라
이전버튼 1 이전버튼