在我的CS2课上,我们正在学习很多关于堆栈,队列和链接列表的语法。尽管如此,我们实际上还没有学过它们的任何应用程序,也没有被告知如何确定何时应该使用一种数据结构与另一种数据结构。有谁知道一种资源,可以更好地理解这些不同数据结构的不同应用?
答案 0 :(得分:1)
堆栈,队列,优先级队列是非常通用的数据结构。
您可以在竞争性编程,处理器,操作系统以及我尚未探索的许多其他地方找到它们的用途。
作为计算机科学专业的学生,您将在将来学习诸如计算机组织和操作系统之类的课程时,进一步了解它。
This答案说明了微处理器中堆栈的使用。处理器还使用优先级队列对任务进行优先级排序,例如中断处理。重度中断的优先级较高,轻度中断的优先级较低。
堆栈的另一个用途是记录刚遇到异常的软件的追溯(通常是运行时)。 here附有python参考。
根据我的说法,这些数据结构不需要太多练习。您只需要知道其症结所在。您应该知道堆栈(后进先出),队列等的用途。 但是,优先级队列要稍微复杂一些(在实现中),如果要实现它,可以随时对其进行梳理。