下你所需,载你所想!
汇集开发技术源码资料

python实现大根堆排序

:1.001KB :1 :2022-01-01 16:06:01

部分简介

python实现大根堆排序如果开发者对于本文件有需要的可以参考,python基于二叉树中大根堆的排序算法每次找出列表中最大的元素。

def build(self):
self.mark = 0 # 先置为零, 只要经过一次swap函数,就再次置为1
index = len(self.arr) - 1
for i in range(index):
if i * 2 2 <= index: # 如果左右两个子节点都存在,去比较他们的大小
self.tri(i, i * 2 1, i * 2 2)
elif i * 2 1 <= index: # 如果只有左子节点存在,去比较他们的大小
if self.arr[i] < self.arr[i * 2 1]:
self.swap(i, i * 2 1)
else:
break

热门推荐

相关文章