Python 程序中的插入排序

pythonserver side programmingprogramming更新于 2025/12/20 13:00:17

在本文中,我们将了解 Python 3.x 中插入排序的实现。或更早。

算法

  • 通过在每次迭代时增加排序数组来迭代输入元素。

  • 将当前元素与排序数组中可用的最大值进行比较。

  • 如果当前元素更大,则它将元素留在其位置并移动到下一个元素,否则它会在排序数组中找到其正确的位置并将其移动到数组中的该位置。

  • 这是通过将排序数组中所有大于当前元素的元素向右移动一个位置来实现的。

现在让我们看看算法的视觉表示

现在让我们看看实现

示例

def insertSort(arr):
   for i in range(1, len(arr)):
      key = arr[i]
      # 将 arr[0..i-1] 中大于 key 的元素
      # 移动到比当前位置靠前一个位置
      j = i-1
      当 j >=0 且 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 ("排序后的数组为:")
for i in range(len(arr)):
   print (arr[i])

输出

排序后的数组为:
a
i
l
o
r
t
t
u

时间复杂度:O(n*2)

辅助空间:O(1)

所有变量均在全局框架中声明,如下图所示 −

结论

在本文中,我们了解了插入排序及其在 Python 3.x 或更早版本中的实现。


相关文章


有用资源