트리(tree)란 원소들 간에 1:n 관계를 가지는 비성형 자료구조이다.원소들 간에 계층 관계를 가지는 계층형 자료구조이다.상위 원소에서 하위원소로 내려가면서 확장되는 트리모양의구조이다.나무를 거꾸로 세운 구조라고 생각하면 된다.트리 자료구조의 예로 가계도가 있다. 맨
이진트리 이진트리는 트리의 모든 노드의 차수를 2이하로 제한을 하여 전체 트리의 차수가 2이하가 되는 트리이다. 이진트리의 모든 노드는 왼쪽 자식의 노드와 오른쪽 자식의 노드만 가진다. 이진트리는 순환적 구성이다. 노드의 왼쪽 자식 노드를 루트로 하는왼쪽 서브트리도
이전에 이진 탐색트리를 알아보았다 이진탐색트리의 경우 시간복잡도가 O(logn)이긴 하지만 삽입과 삭제가 빈번히 이루어져 편향이진트리가 만들어지는경우 시간복잡도가 O(n) 이 되버리게 된다 AVL 트리는 스스로 균형을 잡는 이진 탐색트리이다한쪽을 치우친 편향이진트리처럼
AVL 트리를 다루었을때 Delete 부분은 시간이 걸릴것같아 삽입과정 및 Rotate 를 다루는 코드만 제작을하였다 이번에는 그 코드에서 Delete가 추가 되었다굳이 int main에서 다루지 않아도 되는 부분 rotate, inserting, inorder 등은
heap은 완전 이진트리에 있는 노드 중에서 키값이 가장 큰 노드나 키 값이 가장 작은 노드를 찾기 위해 만들어진 자료구조이다 최대 히프키 값이 가장 큰 노드를 찾기 위한 완전 이진트리부모 노드의 키값 >= 자식 노드의 키 값Root 노드 : 키 값이 가장 큰 노드 최