![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小小的算法
海边戏水
这个作者很懒,什么都没留下…
展开
-
(一)冒泡排序-python实现
偷懒,这种耳熟能详的算法,文字抄百度: 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 冒泡原创 2013-11-21 14:17:20 · 643 阅读 · 0 评论 -
(二)选择排序-python实现
选择排序,就是从现有序列中选出最小的,放到已经排好序的后面。 def select_sort(nodes): size = len(nodes) if size <= 1: return min = 0 for i in range(size-1): min = i for j in range(i+1, siz原创 2013-11-22 10:43:53 · 548 阅读 · 0 评论 -
(三)插入排序-python实现
插入排序的思想,就是依次从当前序列中取出数据,然后插入已有的排列里面。 这个看起来跟选择排序有点类似。。。 也是简单的排序算法,直接看代码更直接点 直观点的代码: def insert_sort1(nodes): new_nodes = [] for node in nodes: if len(new_nodes) == 0: new原创 2013-11-22 10:55:31 · 667 阅读 · 0 评论 -
(四)快速排序-python实现
快速排序相对于前面的三种排序,是速度比较快的一种排序方法 快速排序的方法主要有两个重点, 一个是分治:就是把数据分成两部分,保证一部分永远小于另一部分。 二是递归:递归上面的想法最终实现有序 def quick_sort1(nodes, start, end): i = start j = end size = len(nodes) if start >=原创 2013-11-22 11:55:38 · 658 阅读 · 0 评论 -
鸡尾酒排序
冒泡排序的的变种,时间复杂度跟冒泡排序一样 python版本: def cocktail_sort(l): bottom = 0; top = l.__len__() b_swap = True while b_swap: b_swap = False for i in range(bottom, top-1):原创 2012-05-07 20:18:08 · 356 阅读 · 0 评论