问题描述
我只是想知道,是否有可能实现O(1)
复杂度为get_min(),push_back(),push_front(),pop_back(),pop_front()
的结构(列表/双端队列)(
绝对有可能实现满足这些条件的stack甚至queue(它们push()
和pop()
仅在一端可用)。但是我无法将这种逻辑重新用于出队情况。
还可以创建对推/弹出操作具有O(logn)
复杂性,对于O(1)
具有get_min
复杂性的结构(仅使用简单列表和min_heap
,其中删除任意O(logn)
的元素可用)。
但对于所有操作,仍要摊销O(1)
对我来说似乎是不可能的。如果是这种情况,那么有关n
的确切操作数(或列表中元素的最大可能数目)的信息是否可以帮助(简单的情况)?我们可以以某种方式使用O(n)
(或更多)这样的额外内存或东西吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)