当我读一些书时,我看到,从堆栈中搜索一个项目的时间复杂度是 O(n)。但我很困惑,我如何从堆栈中搜索一个中间值,因为它是一个后进先出。
最佳答案
堆栈通常实现为数组或链表,您可以遍历其中任何一个。
如果您有一个不提供迭代器的纯堆栈 API:
您必须将元素弹出到不同的堆栈,直到找到该元素,然后将它们推回。
在此之后,我们将使堆栈恢复到原来的状态。
关于algorithm - 如何从堆栈中搜索项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19253169/