이진탐색트리
·
Computer Science/Data Structure
이진탐색(Binary Search)탐색에 소요되는 시간: O(log n)삽입/삭제 불가연결리스트(Linked List)탐색에 소요되는 시간: O(n)삽입/삭제에 소요되는 시간: O(1)이진탐색트리(Binary Search Tree)이진탐색(탐색) + 연결리스트(삽입/삭제)탐색/삽입/삭제에 소요되는 시간최적 및 평균: O(log n)트리의 높이에 비례최악: O(n)치우친 트리의 경우 장점검색, 삽입, 삭제 모두 평균적으로 O(log n) 성능중위 순회시 정렬된 순서로 데이터 접근 가능 유연한 크기 조정 가능 단점 균형이 무너지면 성능이 O(n)까지 저하될 수 있음이진탐색트리의 단점인 불균형 문제를 해결하기 위해 자가균형 이진탐색트리(삽입/삭제 연산 시 트리를 재조정)를 사용할 수 있음AVL TreeRed..
힙(heap)
·
Computer Science/Data Structure
힙(heap) : 데이터에서 최댓값과 최솟값을 빠르게 찾기 위해서 고안된 완전 이진 트리 형태의 자료구조 힙을 통해 우선순위큐를 효율적으로 구현할 수 있음힙의 특징완전 이진 트리 구조를 가짐부모 노드와 자식 노드 간의 대소 관계가 성립함 (형제 노드 간 관계 없음)최대 힙(Max Heap)과 최소 힙(Min Heap) 두 종류가 존재최댓값 최솟값 조회의 시간 복잡도: O(1)삽입/삭제 연산의 시간 복잡도: O(log n)완전 이진 트리(Complete Binary Tree): 모든 레벨이 완전히 채워져 있으며, 마지막 레벨에서는 노드들이 가능한 가장 왼쪽부터 채워져 있는 이진 트리 최대 힙: 루트 노드가 최댓값 → 부모 노드(key) ≥ 자식 노드(key)최소 힙: 루트 노드가 최솟값 → 부모 노드(ke..