전에 정리해둔거.. 다시 정리하기=> i 이후의 최소값을 찾아 swap(제일 앞으로)하는 것을 반복최적 n^2 평균 n^2 최악 n^2장점: 간단하다, 30 이하의 작은 수에서는 효과적이다=> 0부터 i까지 계속 비교하여 가장 큰 값을 뒤로 보내기최적 n^2 평균 n^
Python 참고: http://ejklike.github.io/2018/01/09/traversing-a-binary-tree-2.html: 루트 노드부터 내려갈 수 있는 만큼 깊이 탐색 (세로->가로)<가장 대표적인 DFS - 전위 pre-order>
: 매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자= 욕심쟁이 알고리즘, 탐욕 알고리즘최적화장점: 빠르다단점: 항상 최적이라는 보장은 없음: n 개의 정점으로 이루어진 무방향 그래프 G 에서 n 개의 모든 정점과 n-1 개의 간선으로 만들어
: 입력값이 무한대로 향할 때 함수의 상한을 설명하는 수학적 표기 방법실행 시간 (시간 복잡도) & 공간 요구사항 (공간 복잡도)시간 복잡도: 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도점근적 실행 시간 (Asymptotic Running Time)
유클리드 호제법a % b == 0 이라면 gcd(a, b) = ba % b != 0 이라면 gcd(a, b) = gcd(a, a%b)파이썬 math 함수 이용 시,a \* b 에서 최대공약수로 나눠주기