请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

索引堆插入操作应该先处理此索引已经存在的情况吧

用户很难保证提供的索引还没有在堆中,因为取出的索引是随机的,如果用户每次都传入不同的索引,数组很快就爆了,或者浪费空间

用户还可能多次在一个索引插入数据,index很快满了,data只有一个数

正在回答 回答被采纳积分+3

2回答

提问者 慕仔6092170 2019-07-20 19:52:37

手机上不知道怎么编辑问题,在这里接着说吧

索引堆插入操作让用户传一个索引,而不是像普通堆一样生成一个索引,是有些道理的,使用索引堆的用户一般不希望索引堆修改data数组,因为这是用户的数据,用户很可能需要用别的方式修改它。
我的想法是,可不可以这样,插入操作也别修改data数组了,把data数组交给用户维护,索引堆只需要用户提供一个根据索引查找数据的函数,这样索引堆只用维护一个indexes,是不是很酷!

1 回复 有任何疑惑可以回复我~
  • 你的想法完全没有问题。只不过又有索引和数据是高度关联的,分开维护其实是在给用户制造负担,封装在一起更方便。在这一章,我只是介绍了索引对这种数据结构,并没有实际使用。在课程的后续,图论的两个算法中,我们会实际使用索引堆,在那些使用场景中,你可愿意尝试一下,如果分开维护,代码是怎样的,是不是更麻烦?继续加油!:)
    回复 有任何疑惑可以回复我~ 2019-07-21 01:09:30
liuyubobobo 2019-07-21 01:06:48

可以参考这里:https://coding.imooc.com/learn/questiondetail/40398.html 


继续加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信