【问题标题】:When would you use a stack as opposed to a regular linked list or a regular queue as opposed to a priority queue in real life?在现实生活中,你什么时候会使用堆栈而不是常规链表或常规队列而不是优先级队列?
【发布时间】:2018-11-25 15:28:49
【问题描述】:

在我的 CS2 课程中,我们学习了很多堆栈、队列和链表的语法。尽管如此,我们实际上并没有学习它们的任何应用,也没有被告知如何判断何时应该使用一种数据结构与另一种。有谁知道更好地理解这些不同数据结构的不同应用的资源?

【问题讨论】:

    标签: java linked-list stack queue computer-science


    【解决方案1】:

    堆栈、队列、优先级队列是非常通用的数据结构。

    您可以在竞争性编程、处理器、操作系统以及更多我尚未探索的地方找到它们的用途。

    作为一名计算机科学专业的学生,​​当您学习计算机组织和操作系统等课程时,您将了解更多有关它的知识。

    This 回答解释了微处理器中堆栈的使用。处理器还使用优先级队列来确定任务的优先级,例如处理中断。严重中断优先级高,轻微中断优先级低。

    堆栈的另一个用途是记录刚刚遇到异常的软件的回溯(通常是运行时)。附上python参考here

    在我看来,这些数据结构不需要太多练习。你只需要知道它的症结所在。您应该知道堆栈(后进先出)、队列等的用途。 但是,优先级队列有点复杂(在实现中),如果你想实现它,你总是可以对它进行复习。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      相关资源
      最近更新 更多