堆是一种图的数据结构,被用于实现“优先队列”。优先队列是一种数据结构,可以自由添加数据,但取出数据时要从最小值开始按顺序取出。在堆的树形结构中,各个顶点被称为“结点(node)”,数据就存储在这些节点中。
如图所示,每个节点由两个子节点,用线条连接即为堆。
在堆中存储数据时必须遵守这样一条规则:子结点必定大于父节点
例如,将数字5添加到堆中
从堆中获取数据时,需要从最上面的数据开始取,取完数据后,堆需要进行重新排序,将最后的数据移到取出的结点位置。
如图所示,取出堆中的数字1。
本文分享自 神奇的程序员 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!