2.4.18

问题:

2.4.18 In MaxPQ, suppose that a client calls insert() with an item that is larger than all items in the queue, and then immediately calls delMax(). Assume that there are no duplicate keys. Is the resulting heap identical to the heap as it was before these op- erations? Answer the same question for two insert() operations (the first with a key larger than all keys in the queue and the second for a key larger than that one) followed by two delMax() operations.

分析:

一、假设所有的Key都不相同
对于insert, delMax
元素的上升路径a1,a2,a3, … , ak. ak为待插入元素,a1为根节点。
insert后以上元素的顺序变为 ak, a1, a2, a3, … , ak-1
delMax,ak-1, a1, a2, …, ak-2
由于ak-2大于ak-1,所以ak-1原路返回。

对于insert,insert,delMax,delMax
同理。
堆不变。

二、假设假设上升路径上有的元素Key相同。
一个极端情况,假设堆在插入新元素之前所有的key都相同。
元素的上升路径a1,a2,a3, … , ak. ak为待插入元素,a1为根节点。
insert后以上元素的顺序变为 ak, a1, a2, a3, … , ak-1
delMax,ak-1, a1, a2, …, ak-2
ak-1 = a1, a2, …
所以ak-1的位置不会改变,那么结论是堆变了。

参考:

沈星繁-2.4.18

算法4 Java解答 2.4.18相关推荐

  1. 负载均衡算法及其Java代码实现

    负载均衡算法及其Java代码实现 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须 ...

  2. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  3. 【建议收藏】MD5 算法的Java Bean

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输 ...

  4. K-means算法的Java实现 聚类分析681个三国武将(1)

    k-means算法接受输入量 k :然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.聚类相似度是利用各聚类中对象的均值所获得一个& ...

  5. java如何做聚类分析_K-means算法的Java实现 聚类分析681个三国武将

    一,k-means算法介绍: k-means算法接受输入量 k :然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.聚类相似度是利用 ...

  6. 算法到底该怎么学?算法数据结构Java编程超全干货!(ACM金牌选手分享超牛学习路径~)...

    怎么才能最快的学习算法呢?(ps:文末附2022大厂面试真题~) 这是很多知友都关心的话题,作为一个ACM金牌选手,根据我的专业角度,特给大家来分享一下! 学习算法,切记不要一上来就开始啃<算法 ...

  7. 图解算法 使用Java

    图解算法 使用Java 1. 计算思维 2. 算法的条件 3. 算法复杂度 4. 经典算法 4.1 分治法 4.2 递归法 4.3 动态规划法 4.4 迭代法 4.5 枚举法 4.6 回溯法 4.7 ...

  8. 围棋算法实现 java

    围棋算法实现 java 基本规则 算法思路 核心算法实现 源码链接:https://download.csdn.net/download/w2180z/12526532 基本规则 围棋的规则:棋盘19 ...

  9. 数据结构与算法【Java】06---七大查找算法总结

    文章目录 数据结构与算法[Java]06---查找算法总结 1.查找算法简介 1.1.查找的定义 1.2.查找算法分类 1.3.常用查找算法 2.线性查找算法 2.1.线性查找简介 2.2.线性查找代 ...

最新文章

  1. web.config文件详解
  2. 鸿蒙计划什么时候开始,华为鸿蒙计划被曝!研究者是2020应届生,网友:初出茅庐凭啥...
  3. 最清晰的讲解各种梯度下降法原理与Dropout
  4. linux下xampp(apache)中配置域名访问,以及遇到的问题
  5. 【星球知识卡片】注意力机制发展如何了,如何学习它在各类任务中的应用?...
  6. 人工智能中的局部搜索算法
  7. 手把手教你用好LINQ to SQL(1)
  8. 摩拜不死,已入美团!
  9. vsan的容量设备故障和缓存设备故障分析
  10. centos7如何添加开机启动服务/脚本
  11. 检定规程JJG687- 2008《液态物料定量灌装机》解析
  12. 组装电脑基础知识之内存条
  13. windows 2008 r2 kb4512486 安装失败解决方法
  14. JAVA-day18-Map集合遍历、HashMap、TreeMap、Collections、集合嵌套,模拟斗地主发牌
  15. Windows下如何对声卡音频输出进行录音
  16. 检测笔记本电脑的主板,cpu,硬盘的温度
  17. Python基础(3)——北京市地铁买票问题(思维练习题)
  18. 仓储委外加工/周转加工
  19. win7一直显示正在关机_win7系统一直卡在正在关机无法关机怎么解决
  20. CAD与3D建模软件:有什么区别?

热门文章

  1. 服务器显示htx插槽,Socket F接口Opteron主板与服务器Computex展示
  2. hadoop 3.x 启动过程中 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  3. 【Java专题】Java中的I/O流详解
  4. ES6基本的语法(十六) lterator
  5. uniapp 聊天记录插入的两种方式
  6. 军工企业数据中心机房设计
  7. 单页应用SEO解决方案
  8. android高级UI之Paint Xfermode
  9. html+css+js好看的梅花
  10. 投资大师索罗斯的人生轨迹 索氏投资理论 打跨英格兰银行的人 “魔鬼”索罗斯...