算法
Rosaany
这个作者很懒,什么都没留下…
展开
-
希尔排序
希尔排序是一种基于插入排序的快速的排序算法,对于很大的数组数来说插入排序会很慢,因为它只会交换相邻的元素,因此元素只能一点点地从数组的一端移动到另一端了。例如,一个很小的数,它正好在数组尽头,要把它移到正确的位置就要n - 1次移动。希尔排序为了加快速度简单地改进了插入排序,交换不相邻的元素以对数组局部进行排序,并最终用插入排序将局部有序的数组进行排序。希尔排序的思想是使数组中任意间隔h的元素有序...翻译 2018-05-01 16:20:33 · 190 阅读 · 0 评论 -
快速排序
快速排序是一种分治的排序算法。它将一个数组分成两个子分组,将两部分独立地排序。每次通过递归地调用切分来排序的。 Quick.py #!-*-coding:utf8-*- import operator,time,random start = time.clock() def quick(arr): lo = 0 hi = len(arr) - 1 quick_so...翻译 2018-05-01 16:56:06 · 122 阅读 · 0 评论 -
堆排序
堆的排序分为两个阶段,在堆的构造阶段中,我们将原始的数组重新组织安排进一个堆中,然后在下沉排序阶段,我们从堆中按递减顺序取出所有元素并得到排序结果。本文摘自算法第四版堆排序章节。 ![堆排序:堆的构造(左)和下沉排序(右)](https://img-blog.csdn.net/20180517145513926?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubm...翻译 2018-05-17 15:02:48 · 136 阅读 · 0 评论