💡코드 없는 알고리즘과 데이터 구조을 바탕으로 작성된 글입니다.
💡트리 데이터 구조 : 데이터를 계층으로 정렬한다. 그 모습이 트리와 닮아 트리 데이터 구조라는 이름이 붙었다.
나무는 식물을 바로 세우는 역할을 뿌리가 담당한다. 트리 데이터 구조에서도 뿌리에 해당하는 루트 노드가 있으며, 루트 노드를 기준으로 나머지 요소들이 구성된다.
🚨 자식 노드는 여러 개의 부모 노드를 가지지 않는다!
만약, 여러 개의 부모 노드를 가진 자식 노드가 있는 자료 구조가 있다면 그것은 그래프라 한다.
가장 많이 사용되는 데이터 구조.
이진 트리의 가장 일반적인 유형으로 key-value 구조로 이루어져 있으며, 노드의 키를 기준으로 정렬한 상태를 말한다.
💡이진 탐색 트리는 트리 구조로 정렬된 데이터를 저장하는데 효율적이다.
불균형 이진 트리
🤔 왜 굳이 균형을 조정해야 하지?
메모리 관리를 위해 중요하며, 불균형 구조보다는 균형이 잡힌 트리 구조가 메모리를 훨씬 효율적으로 사용할 수 있다.
불균형 했던 AVL 트리의 균형을 조정한 트리 구조
위키백과 - AVL 트리
자체적으로 균형을 조정하는 트리 구조구조
AVL 이진 트리와 비슷하지만 트리 회전수가 적어 AVL 트리보다 효율적
💡시간 복잡도 : O(logn)
노드마다 빨강 또는 검정으로 해석되는 비트를 포함한다.
데이터베이스 시스템을 설계할 때 사용하는 데이터 구조.
트리 기반 데이터 구조로 이진 트리 데이터 구조의 한 종류이다.
루트 노드가 힙에서 가장 큰 값이고 노드 각각의 값이 부모 노드의 값보다 작거나 같도록 구성
루트 노드가 힙에서 가장 작은 값이고 노드 각각의 값이 부모 노드의 값보다 크거나 같도록 구성.
🚨 힙 메모리와 데이터 구조 힙은 전혀 다른 개념!!!!