목록전체 글 (157)
DevYoon
1️⃣ 우선순위 큐(Priority Queue)의 원리 2️⃣ 완벽한 이진트리의 형태 3️⃣ 시간 복잡도 O(nlogn) Keyword : Maxheap(부모노드 > 자식노드), Minheap(부모노드 < 자식노드) 하나씩 꺼낼 때마다 부모 노드와 비교하여 Maxheap이면 → 부모 노드보다 자식 노드가 크면 swap Minheap이면 → 부모 노드보다 자식 노드가 작으면 swap 코드 구현 arr = [4,7,8,1,5,3,6,9] # Maxheap heap = [0]*20 hindex = 1 # 힙이라는 1차 배열의 인덱스 역할 def insert(value): global heap, hindex heap[hindex] = value now = hindex hindex+=1 while 1: paren..
Dijkstra 알고리즘 Dijkstra 알고리즘이란? 1️⃣ 한 정점에서 다른 모든 도착점까지 드는 최소 비용 or 최단 거리를 구할 때 사용하는 알고리즘 2️⃣ BFS, DFS보다 효율성을 높이고 빠른 속도를 위해 사용 3️⃣ 한 점에서 다른 점까지의 비용에 양수만 존재해야 함. (음수 → Bellmanford) 4️⃣ 양방향, 단방향 모두 가능 Keyword 시작 → 도착 vs 시작 → 경유지 → 도착 비교 후 더 작은 것으로 갱신 코드 구현 name = 'ABCED' inf = 99999 arr = [[0, 3, inf, 9, 5], [inf, 0, 7, inf, 1], [inf, inf, 0, 1, inf], [inf, inf, inf, 0, inf], [inf, inf, 1, i..