알고리즘 수업을 들은지 1년이 지났지만 여러 정렬 알고리즘을 아직까지 제대로 모른다는 생각이 들었다.이번 기회로 7가지 정렬 알고리즘을 공부했고 시간 복잡도가 높은 순서대로 정리해보았다.(\* 모든 정렬은 오름차순을 기준이다.)배열에 나열된 요소를 쭉 훑어 가장 작은
지난 글에 이어서 이번 글은 시간 복잡도가 O(NlogN)인 알고리즘을 정리해보았다.Quick sort가 시간 복잡도를 NlogN으로 줄일 수 있는 이유는 Divide and Conquer 접근법을 이용했기 때문이다. (Divide and Conquer 접근법이란 큰
특이하게도 counting sort는 정렬 알고리즘이지만 비교 연산을 하지 않는다. 이름처럼 해당 숫자를 '카운팅'할 뿐이다. 정렬하고자 하는 숫자들의 범위가 주어져야 하는 것이 조건이다.\[3,2,2,1,4,1] (4 이하의 음이 아닌 정수들이라는 조건이 미리 주어진
이 글에서 다룰 최단 거리를 구하는 알고리즘은 두가지 종류로 나눌 수 있다.Single Source Shortest Path: 모든 정점의 집합을 V라고 했을 때, 주어진 정점 s ∈ V에 대하여 모든 정점 t ∈ V로 가는 거리를 구한다.All Pairs Shorte