php程序员学数据结构,PHP 程序员学数据结构与算法之《栈》

本文探讨了成为一名优秀程序员必备的数据结构和算法知识,特别关注了栈这一概念。栈是一种后进先出(LIFO)的数据结构,常在编程中用于临时存储和检索数据。尽管现代Web开发中许多算法已被封装,但理解基础算法仍然至关重要。作者以PHP程序员的视角,介绍了栈的动作(压入和弹出)和实现细节,强调了从基础知识学习的重要性。
摘要由CSDN通过智能技术生成

要成高手,必练此功。 要成为优秀的程序员,数据结构和算法是必修的内容。而现在的Web程序员使用传统算法和数据结构都比较少,因为很多算法都是包装好的,不用我们......

69beb792cfd5848e09257f8a3e2907a2.png

分析运行结果

定义:栈是限制插入和删除都只能发生在一个位置上进行的线性表,该位置是线性表的末端,叫做栈的顶。

所以我还是建议更多的coder从基础开始学习。这篇就先讲我们最熟悉的栈操作开始入手,让我们熟悉栈。

通过定义和过程,我们分析出数据结构(红色标识),动作部分(蓝色标识),以及动作的规则(黄色标识)。

fc459edce59161e18a5ae50ce0da9f00.png

如果是C语言去编码,数组应该指定最大宽度,因为C语言数组不像php数组能自行增长,必须要有一个初始宽度。

要成为优秀的程序员,数据结构和算法是必修的内容。而现在的Web程序员使用传统算法和数据结构都比较少,因为很多算法都是包装好的,不用我们去操心具体的实现细节,如PHP的取栈操作array_pop,进栈操作array_push,都有指定的库函数,导致我们对基础算法的研究越来越少,最后成为一个工具的傀儡而已。

总结

栈为何物?

“要成高手,必练此功”。

以上是本人对栈的分析理解过程,由于我是一名php coder,所以我用php的角度去分析和编码。请看

6812181da67d4314c4222f6db37858d6.png组成成分 

f1abee15790ced90ee76f64e48dbb31e.png

动作(方法):压入(push:规则,放在线性表最后面),弹出(pop:规则,从最后取出,并且末端位置向前移动)。

编码

口诀“后进先出”,这是我印象最深的一句话,也是老师一坨讲解中,印象最深刻的。

数据:线性表(用array结构保存命名为data),末端索引(用int结构保存命名为end,初始值为null——因为开始线性表是没有元素的,所以就没有末端索引这么一说,而且由于不断取数据,添加数据,这个末端是变化的元素。)。

过程:先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

d6758618fdfd80ad8308f3882102bc11.png

f54041244fea0556aacfce55760834e1.png

当前位置:主页 > 百度SEO排名优化 > PHP 程序员学数据结构与算法之《栈》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值