前言我不知道堆栈和堆栈的区别。 在网络搜索中一般说堆栈和堆栈是一样的,但确切地说不是。 直到前几天学习计算机的构成原理的时候,我才明白了什么是堆栈。
一、堆是我们熟悉的数据结构,可以视为完整的二叉树。 而且,对于任意节点,如果其具有左、右子树,则该节点的值一定比子树的节点的值大(大顶点的堆更大,小顶点的堆更小)。 堆是利用了堆这一数据结构。
二、堆栈也是常见的数据结构,符合“先进后出”原则。 可以使用顺序和链接两种实现方式来实现。
三、堆栈与堆栈和堆栈不同,堆栈不是数据结构,而是实际存在的。 这是计算机硬件中按照“先进先出”原则管理的存储区域。 多用于断点和函数调用时的信息保存等。 对该存储器空间的访问由CPU内的堆栈寄存器[sp,堆栈指针]赋予地址。 有硬堆栈和软堆栈两种。
1、硬堆栈硬堆栈由一组专用寄存器实现,访问速度快,成本高。
2、软堆栈的软堆栈使用主存中的固定存储区域实现,相对于硬堆栈速度慢,但成本低。