第8天抽象数据类型-堆栈和队列

堆栈和队列课程

带走:

堆栈是元素的集合,您通常只添加(推),移除(弹出)或查看(窥视)元素。 添加时,只能添加到堆栈的顶部;删除时,只能删除最近添加的元素。 这称为后进先出或LIFO。 一个很好的例子是使用ctrl-z撤消。 您只能撤消(删除)已完成的最后一个操作(放入堆栈)。 如果您只需要这三个操作,则它们的运行时复杂度应为O(1),这对使用很有帮助。

队列是另一个类似于堆栈的集合,除了您只能删除队列中的第一项(最旧)或先进先出(FIFO)。 可能的操作类似于堆栈的操作:添加一个项目(入队),删除一个项目(出队),然后查看一个项目(窥视)。 我认为这篇文章正式有太多括号。

像链接列表一样,您只希望在某些情况下使用堆栈和队列。 就像您将数据推送到队列中一样,以后可能要搜索就不要使用队列。 而且,如果您需要从堆栈或队列中间添加或删除元素,这可能会变得更加困难。 您需要跟踪已删除的元素,然后将它们全部放回集合中,除了首先要删除的单个元素。

在基本上完成了我的简历,在我​​的投资组合网站上工作了一点,写了这个博客并花了从上午7点到下午2:30的时间来上课后,我没有时间进行其他编码挑战或原始项目了。 一旦完成投资组合网站的整理,我期待创建更多原始内容。 继续磨。