Hoon222y

정렬 알고리즘에 대해 알아보자 본문

코딩/자료구조&알고리즘

정렬 알고리즘에 대해 알아보자

hoon222y 2017. 9. 18. 20:01

정렬 알고리즘의 종류에는 여러가지가 있는데 이번 포스팅에서는 각 정렬 알고리즘에 대해 알아보도록 하겠다.


[버블정렬 (bubble sort)] - 버블 정렬의 경우 두 인접합 원소를 비교하여 정렬하는 방법이다. 시간복잡도가 O(n^2) 이기 때문에 그냥은 잘 사용하지 않지만 단순구현하지 좋기때문에 사용하기도 한다. 



해당 과정처럼 가장 인접한 두 원소들을 비교하고 바로 옆칸으로 이동하여 끝까지 이동하면서 비교를 하게된다. 버블소트의 경우 다른 정렬들과는 다르게 비효율적이라고 했는데 그 이유는 해당과 같다. 간단하게 총정리 느낌으로 본다면 




[선택정렬 (selection sort)] - 주어진 원소에서 정렬되어지지 않은 부분의 가장 작은 값을 앞으로 보내는 방식이다.



버블소트와 비슷하게 모든 부분에 대해서 비교를 하는 O(n^2)의 시간복잡도가 걸리게 된다. n의 제한이 작을떄 효율적으로 작동되나 n이 커지면 비효율적으로 바뀌게 된다.


[머지소트 (merge sort)]



Comments