자료구조 2

트리, 이진트리, BST, B Tree, RB Tree

트리계층적인 구조를 나타내는 자료 구조 (비선형 구조)부모 자식 관계의 노드들로 이루어진다.[응용 분야]1. 계층적인 조직 표현2. 컴퓨터 디스크의 디렉토리 구조 트리 용어노드 - 트리의 구성요소 간선 - 노드와 노드를 연결하는 선루트 - 최상위 노드서브 트리 - 하나의 노드와 그 노드들의 자손들로 이루어진 트리단말 노드 - 자식이 없는 노드레벨 - 트리의 각층 번호높이 - 트리의 최대 레벨차수 - 노드가 가지고 있는 자식 노드의 수 이진트리모든 노드는 최대 2개의 서브 트리를 가질 수 있다.서브트리는 공집합일 수 있음**** 이진트리에는 서브 트리 간의 순서가 존재왼쪽 서브트리, 오른쪽 서브트리 이진트리 성질1. 노드의 개수가 n개이면 간선의 개수는 n-1개이다.2. 높이가 h인 이진트리의 경우 최소 ..

자료구조 2024.11.19

퀵정렬, 병합정렬, 힙정렬

정렬[안정적인 정렬 알고리즘] 중복된 값을 입력 순서와 동일하게 정렬[안정적이지 않은 알고리즘] 중복된 값을 입력 순서와 상관없이 무작위로 정렬[제자리 정렬] 원본 배열 외에 추가적인 큰 메모리 공간을 사용하지 않는 정렬 알고리즘- 버블정렬, 선택정렬, 삽입정렬, 퀵정렬퀵정렬가장 빠른 정렬 알고리즘퀵정렬은 불안정 정렬 알고리즘 [장점]빠르게 정렬 가능 O(NlgN)제자리 정렬로 추가 메모리 사용이 적음 [단점]불안정 정렬이므로 동일한 값에 대하여 순서 보장 못함 최악의 경우 O(N^2) 소요 // 정렬된 배열이거나, 거의 정렬된 경우 최악의 경우 발생피벗 선택 방법에 따라 성능 차이가 발생할 수 있다.재귀호출로 인한 오버헤드가 발생한다. p (피벗, 중심축) - 그룹을 나누는 기준 pl - 왼쪽 커서 p..

자료구조 2024.11.18