老狗啃骨头之数据结构-栈和队列
source link: http://www.veiking.cn/blog/1013-page.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
老狗啃骨头之数据结构-栈和队列_老狗啃骨头_Veiking百草园-知识点滴,日常分享
栈和队列也是比较常见的数据结构,它们是比较特殊的线性表。相对于数组和链表,栈和队列是一种更具特性的场景应用,栈和队列都可以用数组或链表进行具体的实现。栈和队列都是比较特殊的线性结构,不同但具有典型的模型特点。栈是只有一个出入口,先进后出,后进先出;队列是两头开,一头进一头出,先进先出
栈和队列也是比较常见的数据结构,它们是比较特殊的线性表。相对于数组和链表,栈和队列是一种更具特性的场景应用,栈和队列都可以用数组或链表进行具体的实现。
栈是一种特殊的线性表,它只能在表固定的一端进行数据结点的插入和删除。因为只有一个出入口,可以想象一个筒子、罐子,最早进去的都垫在最里边,能拿出来的都是最上层的,所以,我们给栈总结出一个特性:先进后出,后进先出。
在生活中,其实很多应用场景的原理都是栈,只不过生活太过于具体,很难跟计算机里抽象的栈联系起来,很多容器,比如说吃饭的碗:
对于栈,我们需要强调他的特性:先进后出,后进先出!
队列也是一种特殊的线性表,与栈不同的是,队列在他的两端,有两个口:一端专门负责添加元素,一端专门负责删除元素。
现实生活中,队列的应用模型也很多,一般像各种管道,比如我们经常喝的这个奶茶,用的这个吸管:
栈和队列都是比较特殊的线性结构,不同但具有典型的模型特点。栈是只有一个出入口,先进后出,后进先出;队列是两头开,一头进一头出,先进先出。大家可以脑补各种类似现实场景,来加深他们这个概念模型的认识。
在计算应用上,栈经常用于递归功能的实现;在更高层的计算机应用层面,队列应用会更加普遍,例如消息队列、线程队列等。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK