자료구조 썸네일형 리스트형 [자료구조] 힙(Heap) 연산 - 삽입/추출 구현하기 (Python) 힙(Heap) : 힙의 특성* 을 만족하는 거의 완전한 트리(Almost Complete Tree)인 특수한 자료구조 * 힙의 특성: 최소 힙(Min Heap)에서는 부모가 항상 자식보다 작거나 같음 : 우선순위 큐의 heapq 모듈이 힙으로 구현됨 (heapq.heappush() 및 heapq.heappop()) : 우선순위 큐는 힙으로 만들어지며, 힙은 배열로 만들어지지만 항상 정렬된 구조를 갖지 않음 : 인덱스는 1부터 시작(계산을 용이하게 하기 위함)하며, 자식 노드로 레벨이 내려갈 수록 인덱스는 2배씩 커짐 (왼쪽 노드 기준) : 우선순위큐, 다익스트라 알고리즘, 중앙값의 근사값 찾는 문제에 활용 삽입 연산 - Up Heap 사용 요소를 가장 하위 레벨의 최대한 왼쪽으로 삽입한다. 부모 값과 비.. 더보기 [자료구조] 트리 순회 - 재귀구조 DFS로 preoder, inorder, postorder 구현 (Python) 트리 순회 : 그래프 순회의 일종으로 각 노드를 정확히 한 번씩 방문하는 과정 : DFS, BFS로 탐색할 수 있으며, DFS 탐색의 경우 전위, 중위, 후위 순회가 있음 1) 전위 순회 (NLR) # 전위 순회 (NLR) def preorder(node): if node is None: return print(node.val) preorder(node.left) preorder(node.right) 2) 중위 순회 (LNR) # 중위 순회 (LNR) def inorder(node): if node is None: return inorder(node.left) print(node.val) inorder(node.right) 3) 후위 순회 (LRN) # 후위 순회 (LRN) def postorder(no.. 더보기 이전 1 다음