관계
정점과 간선이 많고 조밀한지 희소한지 먼저 판단합니다.
알고리즘 지도
관계 표현, 방문 방식, 정렬 조건, 키 검색 방법을 한 장에서 비교합니다.
정점과 간선이 많고 조밀한지 희소한지 먼저 판단합니다.
깊게 갈지 넓게 갈지에 따라 DFS와 BFS를 고릅니다.
정렬 여부가 순차 탐색과 이진 탐색 선택을 가릅니다.
데이터 양과 안정성, 추가 공간 조건을 함께 봅니다.
해시는 충돌 처리 방식까지 함께 정해야 합니다.
인접 행렬은 조밀한 그래프, 인접 리스트는 간선이 적은 그래프에 잘 맞습니다.
DFS는 스택이나 재귀, BFS는 큐를 쓰며 BFS는 무가중 최단 거리 문제에 강합니다.
정렬이 없으면 순차 탐색, 정렬되어 있으면 이진 탐색을 고려합니다.
단순 정렬은 원리 확인용, 빠른 정렬 계열은 큰 입력에서 시간 복잡도를 줄입니다.
평균 접근은 빠르지만 충돌이 생기면 체이닝이나 개방 주소법으로 처리합니다.
문제의 첫 조건을 입력 상태, 원하는 결과, 허용 비용으로 나누면 알고리즘 선택이 훨씬 단순해집니다.