采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
用户很难保证提供的索引还没有在堆中,因为取出的索引是随机的,如果用户每次都传入不同的索引,数组很快就爆了,或者浪费空间
用户还可能多次在一个索引插入数据,index很快满了,data只有一个数
手机上不知道怎么编辑问题,在这里接着说吧
索引堆插入操作让用户传一个索引,而不是像普通堆一样生成一个索引,是有些道理的,使用索引堆的用户一般不希望索引堆修改data数组,因为这是用户的数据,用户很可能需要用别的方式修改它。 我的想法是,可不可以这样,插入操作也别修改data数组了,把data数组交给用户维护,索引堆只需要用户提供一个根据索引查找数据的函数,这样索引堆只用维护一个indexes,是不是很酷!
你的想法完全没有问题。只不过又有索引和数据是高度关联的,分开维护其实是在给用户制造负担,封装在一起更方便。在这一章,我只是介绍了索引对这种数据结构,并没有实际使用。在课程的后续,图论的两个算法中,我们会实际使用索引堆,在那些使用场景中,你可愿意尝试一下,如果分开维护,代码是怎样的,是不是更麻烦?继续加油!:)
可以参考这里:https://coding.imooc.com/learn/questiondetail/40398.html
继续加油!:)
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.7k 21
5.7k 3
4.8k 5
1.3k 18