请稍等 ...
×

采纳答案成功!

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

老师,关于优先队列的问题

图片描述
为啥顺序数组入队是O(n)呢,既然是顺序,肯定要排序,不是最好是nlogn吗
图片描述
这个最差是n^2,我想不明白,差在哪里

正在回答

1回答

对于顺序数组,我们要在每次插入数据的时候,都保证整个数组有序。所以,每次插入一个新的数据,原始数组是有序的,我们只需要扫描一遍整个数组,获得新元素的正确插入位置(以保持整个数组依然有序),然后进行插入就好了。这个时间复杂度是O(n)的。


如果有n个请求,每次请求都是O(n)的,整个过程是O(n^2)的:)

0 回复 有任何疑惑可以回复我~
  • 提问者 张婧仪 #1
    非常感谢!老师,麻烦了,有些着急,感觉问的很蠢
    回复 有任何疑惑可以回复我~ 2018-10-22 01:51:28
  • liuyubobobo 回复 提问者 张婧仪 #2
    不客气,加油
    回复 有任何疑惑可以回复我~ 2018-10-22 18:53:16
  • yushou 回复 liuyubobobo #3
    既然是顺序数组插入时使用二分法不是可以达到O(logN)的效率吗?
    回复 有任何疑惑可以回复我~ 2019-06-25 15:30:36
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号