Python 数据结构与算法——选择排序(迭代版、递归版)
2016-03-21 15:41
295 查看
我们首先找到其中最大的元素,并将其放在 nn 的位置(也即交换),然后继续排序剩下的元素:
递归版:
迭代版:
递归版:
def sel_sort_rec(seq, n): if n == 0: return max_j = n for i in range(n): if seq[i] > seq[max_j]: max_j = i seq , seq[max_j] = seq[max_j], seq sel_sort_rec(seq, n-1)
迭代版:
def sel_sort(seq): n = len(seq) for i in range(n-1, 0, -1): max_j = i for j in range(i): if seq[j] > seq[max_j]: max_j = j seq[i], seq[max_j] = seq[max_j], seq[i]
相关文章推荐
- 数据结构(java语言描述)链栈的使用——表达式求值
- 【小镇的技术天梯】从头写数据结构,C语言实现双向链表
- 数据结构6-树
- Python 数据结构与算法——插入排序(insertion sort)
- hdu 3874(树状数组+离线算法)
- A题常用数据结构
- 数据结构课设 任务调度的合理性 (拓扑排序)
- Operating Systems: Three Easy Pieces(操作系统:三个简单方面)4.5数据结构4.6总结
- 数据结构与算法笔记(一)单链表
- 数据结构5-队列
- 数据结构1 -- 链表的基本方法实现
- 数据结构4-堆栈
- linux2.6内核的DAC数据结构(传统9Bit模式、ACL模式)
- 数据结构与算法javascript描述之队列
- Python 数据结构与算法——从某个列表中找出两个彼此最接近但不相等的数
- javascript算法与数据结构之栈
- Python 数据结构与算法——侏儒排序
- 数据结构7—线索二叉树 (java)
- 数据结构笔记-----二叉排序树和哈希表
- 数据结构3-链表