문제 해결에 적합한 알고리즘

2024. 8. 31. 19:19정보처리,전산/자료구조

반응형


  스택
- 쌍이 맞는지: 스택은 후입선출(LIFO) 구조이기 때문에 괄호 쌍이 맞는지 확인하는 문제에 적합다.
- 최근 키워드: 스택을 사용하여 최근 상태를 추적할 수 있다.

상황: 무언가를 저장하고 반대로 처리해야 할 때, 알고리즘이 재귀 특성을 가질 때, 최근 상태를 추적해야 할 때.

 

 

  큐

 

- 순서대로: 큐는 선입선출(FIFO) 구조로 데이터를 순서대로 처리해야 하는 경우에 적합하다.
- 스케줄링: 작업이나 프로세스 스케줄링에서 큐를 사용하여 먼저 도착한 작업부터 처리한다.

상황: 특정 조건에 따라 시뮬레이션할 때, 메모리 사용량이 제한적일 때의 탐색.

 

 

 

  깊이 우선 탐색 (DFS)


- 모든 경로: DFS는 모든 가능한 경로를 탐색하는 데 유용하다.

상황: 백트래킹 문제를 풀 때, 조합 및 순열 문제를 해결할 때.

 

 

 


  너비 우선 탐색 (BFS)

 

- 최적: BFS는 최단 경로를 찾는 문제에 효과적이다.
- 최소 단계: 단계 수를 최소화해야 하는 경우에도 유리하다.
- 네트워크 전파: 네트워크 전파 시 BFS를 사용하여 최소한의 단계로 전파할 수 있다.

상황: 시작 지점부터 목표 지점까지 최단 거리, 시작 지점부터 최소 횟수를 찾아야 할 때.

 

 

 

 

  백트래킹

 

- 조합, 순열, 부분 집합: 백트래킹은 다양한 조합, 순열, 부분 집합을 찾는 문제에서 매우 유용하다.

상황: 특정 조건을 만족하는 조합 및 순열 문제, 특정 조건을 만족하는 부분 집합을 찾을 때.

 

 

 

 최단 경로 알고리즘

 

- 최단 경로, 최소 시간, 최소 비용, 트래픽: 다익스트라 알고리즘은 가중치가 있는 그래프에서 단일 출발점에서 모든 지점까지의 최단 경로를 찾는 데 적합하다.
- 음의 순환: 벨만-포드 알고리즘은 음의 가중치가 있을 때 최단 경로를 찾고, 음의 사이클을 탐지하는 데 사용된다.

상황: 특정 지점에서 나머지 지점까지 가는 최단 경로, 음의 가중치를 가진 그래프에서 최단 경로를 찾고 음의 순환을 탐지할 때.

반응형

'정보처리,전산 > 자료구조' 카테고리의 다른 글

삽입 정렬 insertion Sort  (0) 2024.07.22
ArrayList LinkedList  (0) 2024.04.26
16진수 8진수  (0) 2024.03.29
이진탐색 binary search  (0) 2024.03.15
포인터 문제 c로 분석  (0) 2024.01.01