재귀로 코드를 짤 때, 생각해야하는 것은 2가지이다.1\. 탈출 조건(base case)재귀 호출이 멈추는 조건 = 문제를 더 이상 쪼갤 수 없는 경우단순한 문제의 해답을 return2\. 반복 조건(recursive case)문제를 가장 작은 단위까지 쪼갤수 있어야
최단 경로 구할 때 사용가장 가까운 정점부터 탐색한다.최악의 경우에는, 모든 정점들을 다 탐색해야 한다.하나의 경로를 끝까지 탐색한 후, 다음 경로로 넘어간다.DFS와 BFS의 장단점?그래프가 굉장히 크다면, 어떤 탐색 기법을 고려해야할까요?그래프의 규모가 작고, de
코드의 효율성을 따질 때 우리는 시간 복잡도와 공간 복잡도를 생각한다.입력값이 커짐에 따라, 얼마나 시간이 더 증가하는지?시간 복잡도를 표기하는 방식에는 3가지가 있는데, 그 중 Big-O 표기법을 가장 많이 사용한다.최악의 경우, 코드를 실행하는데 얼마나 걸리는지빅오
멱집합
https://www.youtube.com/watch?v=TxdljAFjTNw(a,b) = a와 b의 최대공약수a = b \* q + r일 때, (a,b) = (b, r)이다.r이 0이 될 때의, b의 값이 최대 공약수이다.ex) (1980, 168) = (1
\[코플릿 - bubbleSort]
https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html
참고https://www.youtube.com/watch?v=BsYbdUnKZ-Y&ab_channel=%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C%EC%B7%A8%EC%A7%81%ED%95%98%EA%B8%B0
다익스트라
벨만-포드 알고리즘(https://8iggy.tistory.com/153다익스트라는 모든 가중치가 양수인 경우에만 사용할 수 있다.