我目前正在学习算法和数据结构的基础知识,但我对数组、链表和堆栈之间的概念和区别感到有些困惑。
如果我错了,请纠正我:堆栈更像是一个抽象概念,数组和链表是数据结构吗?(因此我们可以使用数组或链表来实现堆栈的概念)
更新 - 032221
谢谢大家帮我解答这个问题!当我问这个问题时,我很难理解每种语言提供的原始数据类型和基本数据结构(在这种情况下是数组)的整体概念。
例如,可以使用数组创建和实现链表或队列,但后来我认为此类链表和队列仍应称为数组(因为后面使用的基础数据结构在技术上是数组)。我的想法是,对于不使用数组的链表或队列,会有原始数据结构。因此,我没有完全理解链接列表或堆栈或此类数据结构只是组织和配置数据的不同模式和方式。
我希望这可以帮助任何像我一样难以理解数据结构概念的人!
大批
一本书是一个数组。您可以按索引转到任何页面,并按您喜欢的任何增量快速前进或后退。
链表
寻宝游戏是一个链表。您只能从一个项目转到下一个项目,因为每个项目都包含在哪里可以找到下一个项目的信息。
堆
办公桌上的一堆信件就是一叠。您只能看到位于顶部的字母。去掉最上面的字母会显示下一个字母。