在现实生活中,你什么时候会使用堆栈而不是常规链表,或者使用常规队列而不是优先级队列



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

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

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

作为一名计算机科学专业的学生,当你学习计算机组织和操作系统等课程时,你将来会学到更多关于计算机科学的知识。

这个答案解释了堆栈在微处理器中的使用。处理器还使用优先级队列来确定任务的优先级,例如处理中断。严重中断被赋予高优先级,而轻度中断被赋予较低优先级。

堆栈的另一个用途是记录刚刚遇到异常(通常是运行时(的软件的回溯。此处附加了一个python引用。

据我说,这些数据结构不需要太多练习。你只需要知道它的关键。你应该知道堆栈(后进先出(、队列等的用途。然而,优先级队列(在实现中(有点复杂,如果你想实现它,你可以随时对它进行复习

最新更新