数据结构与算法分析之表、栈和队列(二)
1.栈的概念
栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。对栈的基本操作有Push(进栈)和Pop(出栈),前者相当于插入,后者则是删除最后插入的元素。栈有时叫做后进先出(LIFO Last In First Out)表。
2.ElementType
数据结构是讨论抽象的数据存储和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“ElementType”代表所有可能的数据类型,简单明了的概括了整体。在算法中,除特别说明外,规定ElementType的默认是int型。
3.两个stack的理解问题
4.尾递归虽然编译器可以自己优化,但是最好不要使用尾递归。
5.队列的概念
队列的基本操作是Enqueue(入队),它是在表的末端(叫做队尾(rear))插入一个元素,还有Dequeue(出队),它是删除(或返回)在表的开头(叫做队头(front))的元素。
6. 栈和队列的区别
栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。
栈是先进后出,队列是先进先出。
栈只允许在表尾一端进行插入和删除,队列只允许在表尾一端进行插入,在表头一端进行删除。
7.怎么理解下图
本文参考《数据结构与算法分析-C语言版》
文章来源: blog.csdn.net,作者:嵌入式与Linux那些事,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_16933601/article/details/100103420
- 点赞
- 收藏
- 关注作者
评论(0)