[알고리즘_1] 알고리즘 분류
개론 개념을 분류하는 것을 좋아한다. 알고리즘을 명확한 기준을 가지고 분류하기는 어렵지만, 내 기준으로 정리해보았다. 기본적인 알고리즘은 왠만하면 포함하지만, 어려운 알고리즘들은 내가 공부했거나 공부할 예정인 알고리즘들만 포함되어있다.
개론 개념을 분류하는 것을 좋아한다. 알고리즘을 명확한 기준을 가지고 분류하기는 어렵지만, 내 기준으로 정리해보았다. 기본적인 알고리즘은 왠만하면 포함하지만, 어려운 알고리즘들은 내가 공부했거나 공부할 예정인 알고리즘들만 포함되어있다.
동기 최근 코딩을 다시 시작하면서 이전에 배웠던 알고리즘들에 대한 기억들을 조각모음하고, 그때는 공부하지 않았던 알고리즘들을 살펴보고 있다. 알고리즘을 공부하는 이유는 알고리즘 문제를 풀었을 때와 깔끔한 코드를 작성했을 때의 성취감 때문인 것 같다.
# 문제 상근이는 매일 아침 실험실로 출근해서 샘플의 무게를 재는 일을 하고 있다. 상근이는 두 샘플을 고른 뒤, 저울을 이용해서 무게의 차이를 잰다.
# 문제 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다.
# 문제 N×M크기의 배열로 표현되는 미로가 있다.
# 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다.
# 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.
# 링크 C++ 코딩할 때 참고할만한 글 링크들을 모아둠. 하이퍼링크 되어있지 않은 것들은 그냥 키워드로 검색해보자.