首页 > 其他 > 详细

8. 队列(3)

时间:2018-07-26 19:48:12      阅读:181      评论:0      收藏:0      [点我收藏+]
循环双端对列

deque 在python里的collections模块里面

可以查看官方文档:

https://docs.python.org/3.6/library/collections.html#collections.deque

常用的方法有:

append(x)             #O(1)

appendleft(x)        #O(1)

pop()                     #O(1)

popleft()                #O(1)


回顾之前循环双端链表

平均时间复杂度:

循环双端链表操作平均时间复杂度
cdll.append(value)O(1)
cdll.appendleft(value)O(1)
cdll.remove(node),注意这里参数是 nodeO(1)
cdll.headnode()O(1)
cdll.tailnode()O(1)


所以用cdll就可以实现deque,只要继承cdll的方法就行。

其中,append()和appendleft()在类中都有了,只需要实现pop()和popleft()操作就可以了,

借助cdll的remove()方法就可以实现。

8. 队列(3)

原文:http://blog.51cto.com/286577399/2150688

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!