排序算法
风蛍月缓缓
这个作者很懒,什么都没留下…
展开
-
堆排序算法之python3实现
""" 堆排序 """ # 向下调整的函数,传入的数据为堆,堆顶节点的编号和堆末尾的界限值 def Heapify(heap, start, end): father = start son = father * 2 # son存储较大的子节点的编号,初始化为左子节点 while end >= son: # 当目前数据所处的节点还有子节点时,继续循环调整 # 存在子节点且左右节点进行比较 if end >= son + 1 and he原创 2020-06-27 15:22:25 · 238 阅读 · 0 评论 -
排序算法之快速排序代码详解
""" 1.先确定一个基准数,然后按照比较规则,如本例是升序排列,则将比基数大的放到右边,比基数小的放到左边。 2.接下来各边重复步骤1,直到全部排序完毕。 """ quick_list = [11, 6743, 4656, 2321, 12, 54, 876, 232] def quick_sort(alist, start, end): """快速排序""" if start >= end: # 递归的退出条件 return mid = alist[st原创 2020-06-23 23:49:54 · 311 阅读 · 0 评论 -
经典排序算法之归并排序python实现
```python """ 归并排序 """ from math import floor merge_list = [11, 6743, 4656, 2321, 12, 54, 876, 232] # 合并两个数据,产生一个已经排序好的新的数组 def merge(left, right): # 设定临时数组 result = [] # 设定指向两个数组的指针,起始为0 i = j = 0 while i < len(left) and j < .原创 2020-06-21 22:16:30 · 381 阅读 · 0 评论