ホームページ  >  記事  >  バックエンド開発  >  Python を使用して 8 つの主要な並べ替えアルゴリズムを実装する - ヒル並べ替え

Python を使用して 8 つの主要な並べ替えアルゴリズムを実装する - ヒル並べ替え

巴扎黑
巴扎黑オリジナル
2016-11-26 11:51:53899ブラウズ

ヒル ソートの基本的な考え方:

ヒル ソートは、挿入ソートをベースにした改良版です。挿入ソートは配置された配列を操作する場合に効率的ですが、挿入ソートは一度にしか移動できないため、一般に非効率的です。一人。したがって、Hill ソートは、グループ化の増分が 1 になるまで、まずグループ化によってソートします。

例:

arr = [49,38,04,97,76,13,27,49,55,65]、グループ化増分が 5 の場合、赤い数字が 1 つのグループになり、挿入ソートが実行され、そして、ループは順番に走査されます

arr = [13,38,04,97,76,49,27,49,55,65]、走査が完了すると、グループ化の増分は減少します、

arr = [13 ,27,04,55,65 ,49,38,49,97,76]、その後、グループ化増分が 1 になるまで、グループ化増分 2 でグループの挿入ソートを続けます

コード:

Python コード

def shell_sort(lists):

#ヒルソート

count = len(lists) step = 2

group = count / step

while group > 0: # 範囲内の i に対してグループ化ループを増分します

( 0、グループ);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。