gpt4 book ai didi

data-structures - 栈和队列的使用?

转载 作者:行者123 更新时间:2023-12-02 06:43:39 25 4
gpt4 key购买 nike

我正在阅读数据结构并查看堆栈和队列,但我没有在计算机系统或 Web 开发或我应该使用堆栈、队列或树等的特定问题中获得足够的示例。

最佳答案

大多数(所有?)编程语言都使用堆栈来跟踪调用子例程时程序的状态。

说明:您的程序代码存储在主存中。 CPU 有一个指令指针,它总是指向下一条将要执行的指令。一条指令执行完后,这个指针加1,指向下一条指令。

当您的程序进入子程序时,指令指针会跳转到其他地址。当该例程完成时,它必须知道它离开了哪里。因此,跳转之前的最后一个地址被压入堆栈。当函数完成时,堆栈中最顶层的项目将是该地址。

这也是过度递归会导致堆栈溢出的原因。太多的嵌套调用导致许多返回地址被压入堆栈,但没有一个被移除。

阅读更多关于 Wikipedia 的信息.

树有很多用途,例如binary search trees .

关于data-structures - 栈和队列的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4145952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com