지금부터 알고리즘 공부의 꽃이라 할 수 있는 정렬입니다. 자료를 크기 순서대로 맞춰 일렬로 나열하는 것입니다. 이미 언급했듯이 사전은 단어를 가나다순 혹은 알파벳순으로 나열한 정렬의 굉장히 좋은 예입니다.

  리스트에 들어 있는 숫자를 크기순으로 나열하는 정렬 알고리즘의 입출력은 다음과 같이 정리할 수 있습니다.

    ① 문제 : 리스트 안에 있는 자료를 순서대로 배열하기

    ② 입력 : 정렬할 리스트 (예 : [35, 9, 2, 85, 17])

    ③ 출력 : 순서대로 정렬된 리스트 ( 예 : [2, 9, 17, 35, 85])

[ 파이썬 선택정렬 ]

파이썬 선택정렬

★ 자료를 크기 순서로 정렬하려먼 반드시 두 수의 크기를 비교해야 합니다. 따라서 정렬 알고리즘의 계산 복잡도는 보통 비교 횟수를 기준으로 따집니다. 선택정렬의 비교 방법은 리스트 안의 자료를 한 번씩 비교하는 방법과 거의 같습니다. 따라서 이 알고리즘의 비교를 총 n(n-1)/2번 해야 하는 계산 복잡도가 O(n제곱)인 알고리즘입니다.

[ 파이썬에서 두 자료 값 서로 바꾸기 ]

리스트 안에서 두 자료 값의 위치를 서로 바꾸는 데 다음과 같은 문장이 사용되었습니다.
 
data[i], data[j] = data[j], data[i]

파이썬에서 두 변수의 값을 서로 바꾸려면 다음과 같이 쉼표를 이용해 변수를 뒤집어 표현하면 됩니다.
x, y = y, x

 

[ 파이썬 버블정렬 ]

파이썬 버블정렬

 

Posted by 명문코딩컴퓨터
,