JustDoIt521 2016-04-24 18:39 采纳率: 36.4%
浏览 843

关于c/c++里面栈,队列,堆的问题

学了好久,也听老师说了,但是始终不明白栈,堆,队列是啥,我想知道这些究竟是抽象概念 还是实际意义上存在的东西?求大神解惑,给点例子最好,谢谢各位啦。

  • 写回答

5条回答

  • threenewbee 2016-04-24 19:31
    关注

    看你从什么层面去理解它们。它们当然是实际存在的东西,但是不等于说实际层面的东西就必须理解。好比计算机的晶体管是实际存在的东西,但是对于程序员来说,就基本没有去理解它们的必要。

    堆栈、队列、堆是一些抽象的数据结构,这种抽象恰恰是它的存在的实际意义——越抽象的东西才运用越广泛。数学就是抽象的,所以数学才能解决一切问题。方程比算术抽象,所以小学生做题需要分为“植树问题”“鸡兔同笼”“行程问题”……而这些问题用方程去解决就是一个问题。再比如微积分比代数更抽象,所以中学里面研究面积、体积、双曲线、抛物线……这些问题都可以用微积分解决……超越代数、群论比微积分又更抽象,但是能解决的问题就更广泛。对应的,你可以在计算机科学的很多场合,甚至可以说几乎所有场合看到栈,队列,堆。比如用于组织内存的函数堆栈和内存堆,用于操作系统任务调度的作业队列、消息队列,堆排序算法中的优先级队列,广度优先搜索中的遍历节点堆栈,等等。

    所以归根结底,看你从什么角度看,如果你深入去研究,那么你必然要接触科学的两头——抽象和具体。如果你只是一个普通的技术工人,那么哪一头都和你无关。

    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办