>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 선택 정렬을 구현하는 방법

Python을 사용하여 선택 정렬을 구현하는 방법

王林
王林원래의
2023-06-10 08:54:252488검색

선택 정렬은 정렬되지 않은 요소 중에서 최소값을 찾아 정렬된 요소의 끝에 넣는 간단한 정렬 알고리즘입니다. 모든 요소가 정렬될 때까지 이 과정을 반복합니다. 이번 글에서는 Python을 이용하여 선택정렬을 구현하는 방법을 소개하겠습니다.

먼저 정렬 단계를 명확하게 선택해야 합니다.

  1. 먼저 정렬되지 않은 시퀀스에서 가장 작은 요소를 찾은 다음 시퀀스의 시작 부분에 저장합니다.
  2. 그런 다음 정렬되지 않은 나머지 요소 중에서 가장 작은 요소를 계속 찾아 정렬된 시퀀스의 마지막에 저장합니다.
  3. 모든 요소가 정렬될 때까지 2단계를 반복하세요.

위 단계를 기반으로 Python을 사용하여 선택 정렬 알고리즘을 구현할 수 있습니다.

구현 단계:

  1. 목록을 매개변수로 받는 함수 Selection_sort()를 정의합니다.
  2. 함수에서 for 루프를 사용하여 목록을 순회하고 목록 길이 len(arr)을 얻습니다.
  3. 그런 다음 또 다른 for 루프를 사용하여 정렬되지 않은 배열에서 가장 작은 요소를 찾습니다.
  4. 가장 작은 원소를 찾은 후, 현재 목록의 i번째 원소와 교환하세요.
  5. 모든 요소가 정렬될 때까지 3단계와 4단계를 반복하세요.

다음은 구체적인 코드 구현입니다.

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i+1, n):
            if arr[min_idx] > arr[j]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr

위 코드에서는 목록을 매개변수로 받아들이는 Selection_sort() 함수를 정의합니다. for 루프는 함수 내에서 목록을 순회하고 목록의 길이를 얻는 데 사용됩니다. 다음으로, 또 다른 for 루프를 사용하여 정렬되지 않은 배열에서 가장 작은 요소를 찾습니다. 가장 작은 요소를 찾으면 현재 목록의 i번째 요소로 바꿉니다. 마지막으로 모든 요소가 정렬될 때까지 3단계와 4단계를 반복합니다.

이제 Selection_sort() 함수를 사용하여 테스트할 수 있습니다.

arr = [64, 25, 12, 22, 11]

print("原始数组:")
print(arr)

s_arr = selection_sort(arr)

print("排序后的数组:")
print(s_arr)

출력 결과는 다음과 같습니다.

原始数组:
[64, 25, 12, 22, 11]
排序后的数组:
[11, 12, 22, 25, 64]

Summary

선택 정렬은 간단하지만 매우 효과적인 정렬 알고리즘으로, 시간 복잡도는 O(n²)입니다. 실제 프로그래밍 과정에서 Python을 사용하여 선택 정렬 알고리즘을 구현할 수 있습니다.

위의 데모 코드를 통해 Python의 정렬 알고리즘 구현이 매우 간단하다는 것을 알 수 있습니다. Python을 배우면서 정렬 알고리즘을 접해 본 적이 없다면 이 기사가 도움이 될 수 있습니다.

위 내용은 Python을 사용하여 선택 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.