Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonプログラムでの挿入ソート


この記事では、Python3.xでの挿入ソートの実装について学習します。またはそれ以前。

アルゴリズム

  • ソートされた配列を各反復で拡張することにより、入力要素を反復します。

  • 現在の要素を、並べ替えられた配列で使用可能な最大値と比較します。

  • 現在の要素の方が大きい場合は、その要素をそのままにして次の要素に移動します。それ以外の場合は、並べ替えられた配列内で正しい位置を見つけて、配列内のその位置に移動します。

  • これは、並べ替えられた配列内の現在の要素よりも大きいすべての要素を右にシフトすることで実現されます。

それでは、アルゴリズムの視覚的表現を見てみましょう

Pythonプログラムでの挿入ソート

それでは、実装を見てみましょう

def insertionSort(arr):
   for i in range(1, len(arr)):
      key = arr[i]
      # Move elements of arr[0..i-1], that are greater
      than key,
      # to one position ahead of their current position
      j = i-1
      while j >=0 and key < arr[j] :
         arr[j+1] = arr[j]
         j -= 1
      arr[j+1] = key
# main
arr = ['t','u','t','o','r','i','a','l']
insertionSort(arr)
print ("The sorted array is:")
for i in range(len(arr)):
   print (arr[i])

出力

The sorted array is:
a
i
l
o
r
t
t
u

時間計算量: O(n * 2)

補助スペース: O(1)

次の図に示すように、すべての変数はグローバルフレームで宣言されます-

Pythonプログラムでの挿入ソート

結論

この記事では、Python3.xでの挿入ソートとその実装について学びました。またはそれ以前。


  1. Pythonプログラムでの選択ソート

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-

  2. 挿入ソート用のPythonプログラム

    この記事では、Python3.xでの挿入ソートの実装について学習します。またはそれ以前。 アルゴリズム 1. Iterate over the input elements by growing the sorted array at each iteration. 2. Compare the current element with the largest value available in the sorted array. 3. If the current element is greater, then it leaves the element in its place &n