버블 정렬(Bubble Sort) 버블 정렬은 O($n^2$)의 복잡도를 가진 대표적인 알고리즘이다. 비교 정렬이면서 제자리 정렬 방식으로, 한 번 돌 때마다 마지막 하나가 정렬되어 원소들이 거품처럼 올라온다는 의미이다. 거의 모든 상황에서 최악의 성능을 보여주나, 이미 정렬된 자료에서는 최선의 성능이 나온다. 가장 생각하고 이해하기 쉬워서 각종 교습서에 예시로 많이 보여지고 손쉽게 구현하여 사용할 수 있지만, 만들기가 쉽고 직관적일 뿐이지 대단히 비효울적인 정렬 방식이므로 실제 개발에선 사용되지 않는다. 정렬 방법(오름차순) 배열의 모든 원소에 대해서 인접한 두 원소를 비교하며 앞 원소가 뒤 원소보다 비교하는 값이 클 경우 위치를 교환하면 된다. $1$번 원소와 $2$번 원소, $2$번 원소와 $3$번..
정렬(Sort) 정렬이란, 어떤 리스트가 주어졌을 때, 그 리스트를 정해진 순서대로 가지런히 나열하는 것을 의미한다. 정해진 순서로 다양한 방법이 있겠지만, 일반적으로 오름차순(Ascending) 혹은 내림차순(Descending)을 주로 사용한다. 오름차순이란 뒤로 갈수록 값이 커지는 순서로, 그래프에 표시했을 때 뒤로 갈수록 올라가기 때문이라고 이해하면 편하다. 반대로 내림차순이란 뒤로 갈수록 값이 작아지는 순서로, 오름차순과 마찬가지로 그래프를 떠올리면 쉽게 이해할 수 있다. 숫자 배열 { 9, 10, 108, 72, 66, 45, 62 } 문자열 { ‘A’, ‘a’, ‘C’, ‘K’, ‘b’, ‘z’, ‘F’ } 두 배열을 오름차순으로 정렬하면 { 9, 10, 45, 62, 66, 72, 108 ..
2018. 7. 1 SUN
