이진 트리 특징 - 이진 트리 정렬, 이진 트리 데이터

CODEDRAGON Development/Algorithm, DataStructure

반응형

 

 

이진 트리 특징

·       이진 트리 정렬

·       이진 트리 데이터

 

 

이진 트리 정렬

8, 5, 10, 2, 6 순으로 저장된 이진 트리 자료구조

 

8, 5, 10, 2, 6


 

 

2, 5, 6, 8, 20

왼쪽 노드의 값부터 오른쪽 노드값을 왼쪽노드 -> 부모노드 -> 오른쪽노드 순으로 읽어오면 오름차순으로 정렬된 요소를 얻을 수 있습니다.

TreeSet은 정렬된 상태를 유지하기 때문에 단일 값 검색과 범위 검색(range search)시 매우 빠릅니다.

저장된 값의 개수에 비례해서 검색시간이 증가하지만 값의 개수가 10배 증가하더라도 특정 값을 찾는데 필요한 비교횟수는 3~4회 밖에 증가하지 않아 검색 효율이 뛰어난 자료구조입니다.

 

 

문자열(String)의 정렬

문자열의 정렬의 경우 정렬순서는 문자의 아스키코드값이 되므로 오름차순 정렬의 경우 코드값의 크기가 작은 순서에서 큰 순서, , 공백, 숫자, 대문자, 소문자 순으로 정렬되고 내림차순의 경우에는 그 반대가 됩니다.

 

 

이진 트리 데이터

트리(tree)는 데이터를 순차적으로 저장하는 것이 아니라 노드를 서로 비교하여 저장위치를 찾아서 저장합니다.

해당 노드를 삭제할 경우 트리의 일부를 재구성해야 하므로 링크드 리스트(LinkedList)보다 데이터 추가/삭제 시간이 더 걸리게 됩니다(순차적으로 저장하지 않으므로).

트리는 배열이나 링크드 리스트보다 검색(범위 검색) 및 정렬 기능이 뛰어납니다.

중복된 값을 저장하지 못합니다. (중복 불가)