2016-03-30 5 views
0

挿入ソートの出力を増加しない順序に変更する方法を知りたいですか?たとえば、537は753になります。また、ランタイムは、増加する(最高と最悪の両方)場合と同じになりますか?挿入ソートアルゴリズムを増加させないように修正する

擬似コード:

INSERTION-SORT(A) 
    for j = 2 to A.length 
     key = A[j] 
     // Insert A[j] into the sorted sequence A[1..j] 
     i = j - 1 
     while i > 0 and A[i] > key 
      A[i +1] = A[i] 
      i = i - 1 
     A[i + 1] = key 
+0

537が753になるとはどういう意味ですか?各数字の数字を降順に並べ替えて並べ替えることを意味しますか? –

答えて

1

ランタイムは、変更によって影響を受けません。コンピュータサイエンスで数値を話すときの代わりにの代わりにと言う方が良いでしょう。 が増加すると、は、になります。つまり、あなたが探している変更については、以下のコードを参照してください(特にwhileループに注意してください)。

for j = 2 to A.length 
    key = A[j] 
    i = j - 1 
    while i > 0 and A[i] < key 
     A[i + 1] = A[i] 
     i = i - 1 
    A[i + 1] = key 
+2

「増加していない」または「減少していない」と言うのはかなり一般的です。実際、「降順」とは、「降順」と同じ要素を意味するものではなく、「降順」は重複要素を許さないという意味です。私は、これらの用語が「コンピュータサイエンス」で使われていなかったという考えをどこから得たのか分かりません。 – beaker

関連する問題