栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

堆是一种有用的数据结构_数据结构与算法图解 豆瓣?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

堆是一种有用的数据结构_数据结构与算法图解 豆瓣?

定义

堆(Heap)是一种特别的树。要想成为树需要满足以下条件:给定堆中任意节点A和B,若A是B的父节点,那么A的值会小于等于(或大于等于)B的值。这也就衍生最小堆和最大堆了即:若父节点的值恒小于等于子节点的值,这个堆就称为最小堆(min heap);反之,父节点的值恒大于等于子节点的值,则称为最大堆(max heap)。在堆中,最顶端的那个点也就是根节点(root node),他的值要么最大,要么最小,其不会有父节点了(parent node)。

用途:

构建优先队列(Priority Queue)堆排序快速找出一个集合中的最(大/小)值

堆总是一棵完全树,即:其在构建的过程中总是从上到下,从左至右进行构建,在最底层可能数据没有填满,但是数据的填充也是从左至右填入的。

补充:在python中我们可以以以下方式导入使用:

import heapq as hp

pqueue = []
hp.heappush(pqueue, 1)
hp.heappush(pqueue, 5)
hp.heappush(pqueue, 3)
print(pqueue)  # [1, 5, 3]
while pqueue:
    print(hp.heappop(pqueue), end="t")
# 1	3	5

当然,Python自带sort相关函数,使用他也是不错的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号