Python程序中的选择排序


在本文中,我们将学习选择排序及其在 Python 3.x 或更早版本中的实现。

在**选择排序**算法中,通过递归地从未排序部分找到最小元素并将其插入到开头来对数组进行排序。在对给定数组执行选择排序期间,会形成两个子数组。

  • 已排序的子数组。
  • 未排序的子数组。

在选择排序的每次迭代中,都会弹出未排序子数组中的最小元素并将其插入到已排序的子数组中。

让我们看看该算法的可视化表示 -

现在让我们看看该算法的实现 -

示例

 在线演示

A = ['t','u','t','o','r','i','a','l']
for i in range(len(A)):
   min_= i
   for j in range(i+1, len(A)):
      if A[min_] > A[j]:
         min_ = j
   #swap
   A[i], A[min_] = A[min_], A[i]
# main
for i in range(len(A)):
   print(A[i])

输出

a
i
l
o
r
t
t
u

在这里,我们以升序获得了算法的输出。Min_ 是当前值,它与所有其他值进行比较。该算法的分析参数列在下面 -

**时间复杂度** - O(n^2)

**辅助空间** - O(1)

这里所有变量都在全局框架中声明,如下面的图像所示 结论 -

结论

在本文中,我们学习了选择排序及其在 Python 3.x 或更早版本中的实现。

更新于: 2019年9月26日

301 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告