【发布时间】:2018-11-25 15:28:49
【问题描述】:
在我的 CS2 课程中,我们学习了很多堆栈、队列和链表的语法。尽管如此,我们实际上并没有学习它们的任何应用,也没有被告知如何判断何时应该使用一种数据结构与另一种。有谁知道更好地理解这些不同数据结构的不同应用的资源?
【问题讨论】:
标签: java linked-list stack queue computer-science
在我的 CS2 课程中,我们学习了很多堆栈、队列和链表的语法。尽管如此,我们实际上并没有学习它们的任何应用,也没有被告知如何判断何时应该使用一种数据结构与另一种。有谁知道更好地理解这些不同数据结构的不同应用的资源?
【问题讨论】:
标签: java linked-list stack queue computer-science
堆栈、队列、优先级队列是非常通用的数据结构。
您可以在竞争性编程、处理器、操作系统以及更多我尚未探索的地方找到它们的用途。
作为一名计算机科学专业的学生,当您学习计算机组织和操作系统等课程时,您将了解更多有关它的知识。
This 回答解释了微处理器中堆栈的使用。处理器还使用优先级队列来确定任务的优先级,例如处理中断。严重中断优先级高,轻微中断优先级低。
堆栈的另一个用途是记录刚刚遇到异常的软件的回溯(通常是运行时)。附上python参考here。
在我看来,这些数据结构不需要太多练习。你只需要知道它的症结所在。您应该知道堆栈(后进先出)、队列等的用途。 但是,优先级队列有点复杂(在实现中),如果你想实现它,你总是可以对它进行复习。
【讨论】: