이진 탐색 트리 (Binary Search Tree, BST)
CS/자료구조
이진 탐색 트리가 필요한 이유이진 탐색 알고리즘의 한계이진 탐색은 O(log n)의 빠른 탐색 성능을 제공하지만 치명적인 단점이 있다배열이 정렬되어 있어야 함배열은 데이터 삽입/삭제가 비효율적 (O(n))해시 테이블은 어떨까?해시 테이블도 좋은 대안이지만 나름의 단점이 있다장점단점삽입/삭제/검색 모두 빠름 (평균 O(1))성능이 해시 함수 품질에 의존 더 많은 메모리 필요 데이터가 정렬되지 않음이진 탐색 트리의 등장이진 탐색 트리는 이진 탐색의 빠른 탐색 성능과 효율적인 삽입/삭제를 동시에 제공한다. 18 / \ 15 31 / / \ 10 27 33 / \ / \ 6 12 24 35 / \ / \ ..
트리와 이진 트리
CS/자료구조
트리 (Tree)란?트리는 하나의 노드에서 시작해 나무가 가지를 뻗듯이 뻗어나가는 비선형 자료구조다.계층 구조를 표현하기에 적합하며, 파일 시스템, 조직도, DOM 구조 등에서 널리 사용된다. A ← 루트 노드 / \ B C ← A의 자식 노드 /|\ \ D E F G ← 터미널 노드(리프 노드)트리의 구성 요소용어설명노드(Node)데이터를 담는 가장 작은 단위간선(Edge)노드와 노드를 연결하는 선루트 노드(Root)트리의 최상위 노드. 부모가 없다부모 노드(Parent)간선으로 연결된 두 노드 중 상위 노드자식 노드(Child)간선으로 연결된 두 노드 중 하위 노드터미널 노드(Terminal)자식이 없는 노드..