[Data Structure] Tree/ Heap

1. Heap

import heapq
  • 힙 (= 완전 이진 트리)
    입력 : O(1)
    출력 : O(n)

  • 최대 힙이 필요한 경우

    • -1을 곱해서 이용(숫자일떄만 가능)
  • push, pop, top

pq = []
heapq.heappush(pq, _____)
heapq.heappop(pq)

2. Tree

from tree import Tree
  • 선형 : 스택, 큐 (순서 O, 연속 O)
  • 비선형 : 트리, 그래프

이진트리
포화이진트리
완전이진트리 - 배열로 표현 가능
정이진트리

  • 트리 순회 : 트리의 모든 노드를 방문 -> 자료에 접근하기 위해서
    • DFS : 전위, 중위, 후위
    • BFS : 큐(FIFO)

전체 트리를 순회하기 위해 서브 트리를 순회
순회를 위한 순회 -> 재귀호출!

좋은 웹페이지 즐겨찾기