a.顺序栈(基于数组)(数组末尾添加和删除元素即可)
3.双端队列(Deque):LinkedList
1.前身:树:度叶子结点父节点子节点层次高度深度分支节点
特点:每个节点最多有两颗子树,即二叉树不存在度大于2的结点
二叉树的子树有左右之分,其子树的次序不能颠倒,因此二叉树是有序树
特殊的二叉树{满二叉树完全二叉树}??性质:1.第i层上最多有2^(i-1)
4.n个结点完全二叉树深度为log2(n+1)
7.基本操作{preorderTraversal
优先级队列——入队一样,出队不一样,按照优先级出队

最大堆:根节点的值一定不小于左右子树??最小堆:根节点的值一定不大于左右子树
堆的实现:(基本都是基于二叉树——二叉堆)
***最大堆—》根节点>=左右子树
层次和节点的大小没有任何关系***
相同数据可以构建成多种类型的堆(最大&最小)
堆的三大核心操作?//add(val)向堆中添加元素siftUp(元素上浮)
//ectractMax():取出最大堆siftDown(元素下沉)
//heapify将任意一个数组堆化add+siftDown
****原地堆排序***?O(nlogn)
将任意数组heapify(siftDown)调整为最大堆??调整最大值与数组末尾的位置(siftDown与之前不同:不考虑已交换元素)
本文来源:独立服务器--java数据结构(梦飞idc云平台)
本文地址:https://www.idcbaba.com/duli/3011.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



