データ構造とアルゴリズムの実践-【並べ替えの挿入順序】並べ替えを挿入します。
1536 ワード
転載は出典を明記してください。http://blog.csdn.net/wklken
ホームディレクトリ
並べ替え>>並べ替えの選択>>並べ替えの選択
リスト:
0.概念+例分析
1.挿入順序の実現
0 start
基本概念:
ウィキペディア
並べ替えを挿入すると、簡単に言うと、毎回新しい数を取って、秩序あるシーケンスに挿入します。
例:
[8,4,3,1,6,9,2,7]
index-1 #二番目の数から始めます。
move 1,change->[
4,8
3,1,6,9,2,7] #一度移動して、挿入します。
index-2
move 2,change->[
3
4,8
を2回移動させ、挿入
index-3
move 3,change->[
1
3,4,8
6,9,2,7]
index-4
move 1,change->[
1,3,4,
6
を選択します
9,2,7]
index-5
move 0 nochange -> [1,3,4,6,8,9,2,7]
index-6
move 5,change->[
1,2,3,4,6,8,9
7)
index-7
move 2,change->[
1,2,3,4,6,
7
8,9
」
[1,2,3,4,6,7,8,9]
1 start
並べ替えpythonを挿入します。
1.監視カメラを追加し、順序が整いました。直接終了します。
2.二分挿入並べ替え、すなわち、あるノードを前に挿入する場合は、二分検索で挿入する
ホームディレクトリ
並べ替え>>並べ替えの選択>>並べ替えの選択
リスト:
0.概念+例分析
1.挿入順序の実現
0 start
基本概念:
ウィキペディア
並べ替えを挿入すると、簡単に言うと、毎回新しい数を取って、秩序あるシーケンスに挿入します。
例:
[8,4,3,1,6,9,2,7]
index-1 #二番目の数から始めます。
move 1,change->[
4,8
3,1,6,9,2,7] #一度移動して、挿入します。
index-2
move 2,change->[
3
4,8
を2回移動させ、挿入
index-3
move 3,change->[
1
3,4,8
6,9,2,7]
index-4
move 1,change->[
1,3,4,
6
を選択します
9,2,7]
index-5
move 0 nochange -> [1,3,4,6,8,9,2,7]
index-6
move 5,change->[
1,2,3,4,6,8,9
7)
index-7
move 2,change->[
1,2,3,4,6,
7
8,9
」
[1,2,3,4,6,7,8,9]
1 start
並べ替えpythonを挿入します。
#!/usr/bin/python
# -*- coding:utf-8 -*-
#
#@author: [email protected]
def insert_sort(l):
print l
for i in range(1,len(l)): #
value = l[i]
while i >= 1 and l[i-1] > value:
l[i] = l[i-1]
i -= 1
l[i] = value
return l
l = [8, 4, 3, 1, 6, 9, 2, 7]
print insert_sort(l)
改善と最適化:1.監視カメラを追加し、順序が整いました。直接終了します。
2.二分挿入並べ替え、すなわち、あるノードを前に挿入する場合は、二分検索で挿入する