小小的算法
海边戏水
这个作者很懒,什么都没留下…
展开
-
(一)冒泡排序-python实现
偷懒,这种耳熟能详的算法,文字抄百度:冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡原创 2013-11-21 14:17:20 · 652 阅读 · 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 · 549 阅读 · 0 评论 -
(三)插入排序-python实现
插入排序的思想,就是依次从当前序列中取出数据,然后插入已有的排列里面。这个看起来跟选择排序有点类似。。。也是简单的排序算法,直接看代码更直接点直观点的代码:def insert_sort1(nodes): new_nodes = [] for node in nodes: if len(new_nodes) == 0: new原创 2013-11-22 10:55:31 · 672 阅读 · 0 评论 -
(四)快速排序-python实现
快速排序相对于前面的三种排序,是速度比较快的一种排序方法快速排序的方法主要有两个重点,一个是分治:就是把数据分成两部分,保证一部分永远小于另一部分。二是递归:递归上面的想法最终实现有序def quick_sort1(nodes, start, end): i = start j = end size = len(nodes) if start >=原创 2013-11-22 11:55:38 · 664 阅读 · 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 · 360 阅读 · 0 评论