BFS

프로젝트 단위 공부/이것이 취업을 위한 코딩 테스트다 with 파이썬

Chapter 5. DFS & BFS

DFS & BFS탐색 (Search)이란 많은 양의 데이터 중 원하는 데이터를 찾는 과정이다. 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색하는 문제를 자주 다룬다. 대표적인 탐색 알고리즘으로 DFS, BFS가 있다. 이를 이해하기 위해 몇 개의 자료구조를 먼저 알아봐야 한다.자료구조 기초스택 (Stack)선입후출(FILO) or 후입선출(LIFO) : 나중에 들어온 것이 먼저 나감Python의 list : 삽입(append), 삭제(pop)예시 : (박스 쌓기) 아래에서 위로 쌓고 아래의 박스를 치우기 위해 위의 박스를 먼저 내려야 함큐 (Queue)선입선출(FIFO) : 먼저 들어온 것이 먼저 나감python의 deque : 삽입(append), 삭제(popleft)예시 : (대기 줄) 입..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 5일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (5)

힙(Heap) 대표 문제 풀이 : 더 맵게 힙(Heap) 최대/최소 원소를 O(1) 시간으로 빠르게 찾을 수 있음 종류 : 최대 힙(max heap), 최소 힙(min heap) 연산 : 힙 구성(heapify, O(n log n)), 삽입(insert, O(log n)), 삭제(remove, O(log n)) 힙의 구현과 응용 최대 힙을 기준으로 root node에 최댓값이 위치 완전 이진트리로 구성돼 있으며, 배열을 이용해서 구현 가능 응용 : 정렬(Heapsort), 우선순위 큐 (priority queue) Python에서의 힙 적용 연산 : heapify(list), heappop(list), heappush(list, value) import heapq # 리스트 L로부터 min heap 구성..

기억에 남는 블로그 닉네임
'BFS' 태그의 글 목록