>  기사  >  백엔드 개발  >  Python에서 선택 정렬을 구현하는 방법에 대한 가이드

Python에서 선택 정렬을 구현하는 방법에 대한 가이드

PHPz
PHPz원래의
2024-02-02 16:05:061327검색

Python에서 선택 정렬을 구현하는 방법에 대한 가이드

Python을 사용하여 선택 정렬을 수행하는 방법

선택 정렬은 간단하지만 효율성이 떨어지는 정렬 알고리즘입니다. 기본 아이디어는 매번 정렬할 데이터에서 가장 작은(또는 가장 큰) 요소를 선택하여 정렬된 순서의 끝에 배치하는 것입니다. 모든 데이터가 정렬될 때까지 이 과정을 여러 번 반복합니다.

다음에서는 선택 정렬에 Python을 사용하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다.

  1. 먼저, 정렬할 목록을 매개변수로 받아들이는 Selection_sort라는 선택 정렬 함수를 정의하세요.
def selection_sort(lst):
    n = len(lst)
    for i in range(n-1):
        min_index = i  # 记录当前最小值的索引
        for j in range(i+1, n):
            if lst[j] < lst[min_index]:
                min_index = j
        lst[i], lst[min_index] = lst[min_index], lst[i]  # 将最小值交换到已排序序列的末尾
  1. 메인 프로그램에서 Selection_sort 함수를 호출하고 정렬할 목록을 전달하세요. 다음은 예입니다.
lst = [64, 25, 12, 22, 11]
selection_sort(lst)
print("排序后的列表:", lst)

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

排序后的列表: [11, 12, 22, 25, 64]

위는 선택 정렬에 Python을 사용하는 구체적인 코드 예입니다. 코드 실행에 대해서는 아래에서 자세히 설명합니다.

선택 정렬에서는 두 가지 수준의 루프를 통해 구현합니다. 외부 루프는 매번 정렬되지 않은 하위 시퀀스에서 가장 작은 요소를 선택하는 시작 위치를 제어하는 ​​반면, 내부 루프는 현재 정렬되지 않은 하위 시퀀스에서 가장 작은 요소를 찾는 데 사용됩니다. 현재 요소를 선택된 가장 작은 요소와 비교함으로써 하위 시퀀스에서 가장 작은 요소의 인덱스를 얻을 수 있습니다.

가장 작은 요소를 찾은 후 이를 정렬된 시퀀스의 마지막 요소와 교환하여 가장 작은 요소가 정렬된 시퀀스의 끝에 배치됩니다. 이 과정을 반복함으로써 매번 가장 작은 요소를 선택하고 이를 정렬된 순서의 끝에 배치하면 순서가 지정된 목록이 생성됩니다.

선택 정렬의 시간 복잡도는 O(n^2)이며, 여기서 n은 정렬할 요소 수입니다. 효율성은 상대적으로 낮지만 선택 정렬은 데이터 크기가 작을 때 여전히 간단하고 구현하기 쉬운 정렬 알고리즘입니다.

위 내용이 선택 정렬을 위해 Python을 이해하고 사용하는 데 도움이 되기를 바랍니다. 다른 질문이 있으시면 문의해 주세요.

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

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