【发布时间】:2020-02-26 01:07:10
【问题描述】:
据我所知,Python中的list是用数组实现的,而deque是用双链表实现的。在任何一种情况下,对某个值的二分查找都需要 O(logn) 时间,但如果我们插入到该位置,则数组需要 O(n),而双链表需要 O(1)。
那么,我们可以使用bisect、insort和deque的组合来实现时间复杂度与Java中的TreeMap相当的所有动态集合操作吗?
更新:我在这个 Leetcode 问题中测试了它:https://leetcode.com/problems/time-based-key-value-store/submissions/
出乎我的意料,当我从list切换到deque时,速度慢了很多。
【问题讨论】:
标签: python python-3.x algorithm binary-search treemap