자료구조 - Tree

Posted by ironmask84
2008. 8. 30. 18:45 컴퓨터공학


Tree 개념

tree : 1 개이상의 노드들이 링크로 연결된 모임
subtree : 각 노드 자신을 root로 보고, 그 자신 밑에 형성된 트리
parent, sibling, children, ancestor => 부모, 형제, 자식, 조상
degree of tree : 노드들 중 가장 큰 차수의 값
degree of node : 그 노드의 서브트리의 개수
leaf or terminal : zero degree (즉, 자식 노드가 없다.)
level : root node가 level1
height or depth : tree에서 가장 큰 레벨의 값

Binary tree : degree가 2인 트리
Complete Binary tree : 바이너리 트리중에서 terminal을 제외한 모든 노드들은 자신의 child노드들을 중간에 빠짐없이 모두 가지고 있는 트리
Full Binary tree : terminal을 제외한 모든 노드들은 2개의 child노드들을
                        가지고 있는 트리

바이너리 트리가 트리 데이터 Structurer에서 유용한 이유
==> 이진 검색 트리를 이용해서 배열보다 어떤 뭔가를 검색할 때
      좀 더 빠르게 할 수 있다.

장점
--> 하나의 자식노드가 주어졌을 때 이의 부모 노드가 즉시 결정된다.
      포화이진트리 형태의 운형은 배열 표현이 가장 효율적이다.

단점
--> 부분적으로 기억장소를 낭비하는 문제가 발생한다.
      노드의 삽입삭제 조작이 자주 발생하면 자료를 배열의
      위, 아래로 이동해야 하므로 많은 처리시간이 요구된다.

'컴퓨터공학' 카테고리의 다른 글

퀵소트 - 알고리즘  (4) 2008.09.21
삽입정렬 - 알고리즘  (0) 2008.09.21
임베디드 시스템과 임베디드  (0) 2008.09.15
Embedded에서 ARM의 의미  (0) 2008.09.15
운영체제의 종류  (0) 2008.09.15
프로그래밍언어론 - 용어  (0) 2008.09.03
cache 적중률  (1) 2008.08.31
cache memory - 2  (0) 2008.08.31
cache memory - 1  (0) 2008.08.31
컴퓨터 시스템에서의 계산표현에 쓰이는 보수들  (0) 2008.08.30