首页 > 代码库 > 选择排序与python实现
选择排序与python实现
1.算法思想
n 个元素,假设前 i 个元素已经排好序,从i+1到n个元素中选出最小的元素放在它在有序表中的最终位置上
2.代码实现
(1)非递归调用
def SelectionSort(A, n): for i in range(0, n-2): mini = i for j in range(i+1, n): if A[j] < A[mini]: i = j A[i],A[mini] = A[mini], A[i] #swap print Aif __name__==‘__main__‘: A = [6,5,4,3,2,1] SelectionSort(A, len(A)) print A
(2)递归调用
def SelectionSort(a, k, n): if(k == n): return mini = k for j in range(k, n): if a[j] < a[mini]: mini = j a[k],a[mini] = a[mini], a[k] #swap print a SelectionSort(a, k+1, n)if __name__==‘__main__‘: a = [6,5,4,3,2,1] SelectionSort(a, 0, len(a)) print a
3. 时间复杂度
对于任何输入来说,选择排序都是一个O(n^2)的算法。
选择排序与python实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。