Python을 사용하여 계산 정렬 알고리즘을 구현하는 방법은 무엇입니까?
카운팅 정렬은 특정 값 범위의 정수 또는 배열을 정렬하는 데 사용할 수 있는 선형 시간 복잡도 정렬 알고리즘입니다. 기본 아이디어는 각 요소가 나타나는 횟수를 세고 횟수에 따라 요소를 올바른 위치에 배치하는 것입니다. 다음은 Python을 사용하여 계수 정렬 알고리즘을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
우선 계산 정렬의 핵심 개념을 명확히 해야 합니다. 카운팅 정렬의 실행 단계는 다음과 같습니다.
def counting_sort(arr): # 找出最大值 max_val = max(arr) # 创建辅助数组count,并初始化为0 count = [0] * (max_val + 1) # 统计每个元素出现的次数 for num in arr: count[num] += 1 # 对count数组进行累加操作 for i in range(1, len(count)): count[i] += count[i - 1] # 创建结果数组result result = [0] * len(arr) # 将元素放置到正确的位置上 for num in arr: index = count[num] - 1 result[index] = num count[num] -= 1 # 返回结果数组 return result
arr = [4, 2, 3, 4, 1] sorted_arr = counting_sort(arr) print(sorted_arr)
위 코드를 실행하면 출력 결과는 다음과 같습니다. , 2, 3, 4, 4].
위의 코드 예제를 통해 카운팅 정렬 알고리즘의 구현 단계가 비교적 간단하다는 것을 알 수 있습니다. 이는 특정 값 범위를 갖는 배열에 대해 매우 효율적인 정렬 알고리즘입니다. 이 글이 카운팅 정렬 알고리즘을 이해하고 사용하는 데 도움이 되기를 바랍니다!
위 내용은 Python을 사용하여 계산 정렬 알고리즘을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!