버블 정렬의 어원에 대해서 궁금해하기 보다는 어떻게 동작을 할 것인지 궁금해하는 당신이 위대합니다. (어원은 뭐 확실한게 아니면 이렇다더라, 저렇다더라... 이런걸 알아갈 시간에 동작을 이해하는게 더 좋을 수 있습니다.)


위의 이미지는 아래의 링크에서 가져왔습니다. 링크 참조하시면 굉장히 친절한 설명이 기다리고 있을겁니다. (영어로... -_-)
http://jeffreystedfast.blogspot.com/2007/02/bubble-sort.html

버블 정렬이란 이웃한 값을 서로 비교하여 정렬을 하는 것입니다. 예를 들어서 가장 첫번째로 5와 2를 서로 비교합니다. 그리고 5가 더 크다는 것을 확인한 뒤, 5를 뒤로 이동합니다. 그리고 5와 8을 비교합니다. 8이 더 크다는 것을 확인하고 자리는 이동하지 않은채 다음으로 넘어갑니다. 8과 6을 비교합니다. 8이 더 크다는 것을 확인하고 서로의 위치를 바꾼 뒤, 다음 숫자와 비교를 시작합니다.

네... 이 반복입니다. 소팅, 정렬을 하는데 있어서 걸리는 시간을 미리 알고 있는 것은 상식과 같은 일입니다. 기본적으로 정렬을 하는데 걸리는 시간을 구하는 공식을 모른다면, 어떠한 데이터들을 정렬할 때, 어떠한 정렬 알고리즘을 사용할 것인지에 대한 이야기를 할 때, 최악의 경우를 가정한 계산을 할 수 없습니다. 물론 이 공식에 대해서 증명을 한다는 무리수를 두고 싶지는 않습니다.

공식은 아래와 같습니다.

저작자 표시 비영리 변경 금지
신고
by 가우초 2011.09.28 21:24
| 1 2 3 4 5 6 7 ··· 11 |

티스토리 툴바