当然,除了上述原因之外,还有一个重要因素是为了搞定面试。
随着软件开发行业竞争的日益激烈,面试的难度也在逐渐增加,因为企业要从众多的面试人中选出最优秀的人,只能提高面试的难度,而算法和数据结构比较烧脑的硬核技能之一,自然也就成了面试的首选科目。并且随着时间的推移,算法和数据结构出现的频率和占比也会不断增加,因此为了顺应时代发展的潮流,我们也要做一些调整,所以在后面的一些文章中,我会陆续更新一些关于算法和数据结构的文章,希望大家能够喜欢。
PS:当然随着智能系统的普及,算法和数据结构在企业中应用也越来越多,因此学习算法和数据结构也是迫在眉睫的事了。
栈
栈(Stack)又叫堆栈(简称栈),它是在同一端进行插入和删除数据的线性表。
栈是最基础也是最常见的数据结构之一,它的数据结构和操作流程如下图所示:
其中,允许进行插入和删除的一端叫作栈顶(Top),另一端叫作栈底(Bottom),栈底固定,栈顶浮动。
当栈中的元素为零时,该栈叫作空栈。添加数据时一般叫作入栈或进栈(Push),删除数据叫作出栈或退栈(Pop&