双端堆/最小-最大堆/Double-Ended Heap ?

本文介绍了如何使用双端堆(最小-最大堆)解决Uva 11136 - Hoax or what问题,该问题需要查找并删除最小值和最大值。双端堆允许常数时间查询和O(log(n))时间复杂度的删除操作。论文链接提供了一个关于双端堆插入操作的详细探讨,但删除操作的实现可能存在问题,导致在Uva平台上提交失败,作者寻求解释和帮助。
摘要由CSDN通过智能技术生成

      Uva 11136 - Hoax or what 这道题可以用优先队列做,这里讨论一下用最小-最大堆做。

      题目的要求:需要找到最小值和最大值,并且还有删除最小值和最大值。

      这样就需要一种包括下面几种操作的数据结构:

  • insert 插入一个元
  • get_min() 得到最小元素,并将其从集合中删除
  • get_max()的到最大元素,并将其从集合中删除

     如果只是需要找到最小值或者最大值,那么可以用heap,也可以用优先队列。但是这里需要找到最小值和最大值,还是可以用heap,也就是双端堆/最小-最大堆/Double-Ended Heap 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值