ソートアルゴリズムの比較
5752 ワード
標準ソート・ライブラリは、最悪の場合でもO(Nlogn)を提供できます.
並べ替えアルゴリズムの平均時間複雑度空間複雑度特性選択並べ替えO(N^2)O(N)思想は非常に単純に並べ替えO(N^2)O(N)データを挿入してほぼ整列させる場合,最速高速並べ替えO(Nlogn)O(N)の多くは最適であり,十分な高速カウント並べ替えO(N+K)O(N+K)データサイズが限られている場合にのみ利用できる.クイックアクション
選択したソートとデフォルトのソート・ライブラリの実行時間の比較
並べ替えアルゴリズムの平均時間複雑度空間複雑度特性選択並べ替えO(N^2)O(N)思想は非常に単純に並べ替えO(N^2)O(N)データを挿入してほぼ整列させる場合,最速高速並べ替えO(Nlogn)O(N)の多くは最適であり,十分な高速カウント並べ替えO(N+K)O(N+K)データサイズが限られている場合にのみ利用できる.クイックアクション
選択したソートとデフォルトのソート・ライブラリの実行時間の比較
from random import randint
import time
# 배열에 10,000개의 정수를 삽입
array = []
for _ in range(10000):
# 1부터 100 사이의 랜덤한 정수
array.append(randint(1, 100))
# 선택 정렬 프로그램 성능 측정
start_time = time.time()
# 선택 정렬 프로그램 소스코드
for i in range(len(array)):
min_index = i # 가장 작은 원소의 인덱스
for j in range(i + 1, len(array)):
if array[min_index] > arrag[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
# 측정 종료
end_time = time.time()
# 수행 시간 출력
print("선택 정렬 성능 측정:", end_time - start_time)
# 배열을 다시 무작위 데이터로 초기화
array = []
for _ in range(10000):
# 1부터 100 사이의 랜덤한 정수
array.append(randint(1, 100))
# 기본 정렬 라이브러리 성능 측정
start_time = time.time()
# 기본 정렬 라이브러리 사용
array.sort()
# 측정 종료
end_time = time.time()
# 수행 시간 출력
print("기본 정렬 라이브러리 성능 측정:", end_time - start_time)
Reference
この問題について(ソートアルゴリズムの比較), 我々は、より多くの情報をここで見つけました https://velog.io/@beluga/정렬-알고리즘-비교テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol