Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

소팅(Sorting) 알고리즘 애니메이션 비교사이트

WebAppers에서 "Showing How Each Sorting Algorithm Operates"라는 재미난 사이트 소개가 있어서 공유합니다. 이 사이트는 소팅(Sorting) 알고리즘을 여러가지 상황별로 어떤식으로 동작하고 성능에 어떤 차이가 있는지를 시각적으로 보여주는 사이트입니다.

학생때 정렬에 대해서 배우느라고 고생했던 기억이 납니다. 전산과를 나오셨으면 모두 그런 기억은 있을듯 합니다. 저는 학생때는 워낙 공부를 안해서 더 고생했었는지는 모르겠네요. 소팅하면 버블정렬, 삽입정렬, 머지정렬, 퀵정렬들 많은 알고리즘들이 있고 현업에 와서는 실제로 정렬을 구현한다거나 할일은 별로 없었기는 하지만 그래도 알고 있으면 도움이 되지 않을까 합니다. 시간 지나면 이름만 기억나고 어떤 방식인지가 잘 기억안나기도 하는데 그럴때 도움이 될 듯 합니다.

Sorting Algorithm Animations라는 사이트입니다.

정렬 알고리즘 애니메이션 사이트 화면

사이트의 캡쳐화면입니다. 처음엔 보고 무엇인가 했습니다. 가로축에는 각 정렬 알고리즘들이 있고 세로축에는 데이터가 정렬된 방식이 있습니다. 각 셀을 선택하거나 아니면 비교를 하려면 각 줄에 있는 화살표 아이콘을 클릭하면 각 알고리즘이 정렬되는 알고리즘을 볼 수 있습니다.  상단에서 데이터의 양이나 속도등을 조절할 수 있고 애니메이션을 시작하면 화살표가 왔다갔다 하면서 정렬 알고리즘이 어떤 식으로 정렬을 수행하는지를 볼 수 있고 동시에 진행시키면 어떤 알고리즘이 어떤 상황에 적합한지도 비교해 볼 수 있습니다.

뻔하긴 하지만 이 사이트의 결론은 "There is no algorithm that has all of these properties, and so the choice of sorting algorithm depends on the application."이군요. 상황에 따라 알아서 알고리즘을 써라. 군요.. ㅎ

정렬 공부하실 분은 참고하시면 좋을 듯 하네요.
2009/04/16 00:18 2009/04/16 00:18