机器学习
文章平均质量分 78
「已注销」
这个作者很懒,什么都没留下…
展开
-
python实现归并排序
堆排序和归并排序以及快速排序是比较经典的排序方法。堆排序的时间复杂度是nlogn,归并排序的时间复杂度可以达到O(n),快速排序的时间复杂度是nlogn。可见归并排序的排序速度比较快,但是比较耗费内存,毕竟是通过递归的方式来切分待排序序列。 堆排序可以参考我的上一篇博客。归并排序从字面意思来看,有两个过程:“归”和“并”。“归”是递归的意思,“并”当然是合并的意思。 ...原创 2018-05-19 18:00:02 · 5004 阅读 · 0 评论 -
python实现堆排序代码
堆排序的最好,最坏的时间复杂度都为nlogn。当我们需要对一个没有顺序的序列进行堆排序,首先需要将这批数据转化成堆。一般来说,对序列进行降序排列一般使用大顶堆。大顶堆必须满足:data[index] >= data[2*index + 1] 并且满足data[index] >= data[2*index + 2]。前提是父节点有相应的子节点。按照定义,我们需要找到所有的...原创 2018-05-15 21:55:28 · 1097 阅读 · 0 评论