声明:本文完全没有定量分析,需要定量分析的,请随便查阅一本数据结构的书籍或网页。
二叉堆:拥有删除最大(小)权值节点以及插入任意节点操作,是一颗完全二叉树,其完全性由插入和删除动作来保证。
先看看什么是完全二叉树,不过为了引出完全二叉树的定义还要先看看什么是满二叉树:所有叶子节点都在同一层的二叉树,并且树高h和节点数满足:节点数目为 2*h-1。完全二叉树就是:深度为h节点数目为n的完全二叉树的每个节点都与深度为h的满二叉树的节点从1到n一一对应。
进一步看看插入和删除最值节点如何满足二叉堆的完全性。先看插入,插入的初始位置应该是叶子节点,哪个叶子节点呢?是最后一层从左到右的下一个叶子节点,如下图:
堆,AVL树,红黑树以及优先级队列
原创
©著作权归作者所有:来自51CTO博客作者dog250的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux进程优先级
Linux进程优先级
优先级 高优先级 进程优先级 -
红黑树和AVL树
AVL树和红黑树的实现和特性
python c++ java 视频教程 网易云课堂 -
C++AVL树和红黑树的模拟实现
C++中对AVL树和红黑树的模拟实现以及对二叉树和二叉搜索树的简单分析。
二叉搜索树 AVL树的模拟实现 红黑树的模拟实现