>  기사  >  백엔드 개발  >  php程序员要不要学数据结构?

php程序员要不要学数据结构?

WBOY
WBOY원래의
2016-06-06 16:43:581267검색

最近参加几个大公司的校招笔试,大部分试题都是数据结构和算法之类的,php怎么用到数据结构呢?恳请过来人给小弟一些指示,多谢多谢

回复内容:

程序员都要学 数据结构是基础,链表、二叉树、哈希、排序算法等,你可能在写PHP代码的时候,不一定能够用上,但是,掌握它们能让你对程序的运作原理有更深的理解。

举个简单的例子:
我们经常使用PHP数组,PHP数组不仅可以foreach的方式遍历,又能通过key-value的方式访问,我们都觉得很便利,那么问题来了,为神马会这样?
原因是PHP5的数组,是个HashTable(哈希表,支持key-value直接映射),并且元素之间又用双向链表连接起来(支持遍历)。如果,同学们不学习数据结构,连链表和hash都不知道,就更谈不上理解内部的运作原理。

这个只是数据结构应用的冰山一角,想对技术有深一些的理解,学好数据结构很有必要。而更好地掌握原理层,又可以促进我们对程序的优化和思考,采用更节省系统资源的方式完成我们的业务需求。 单纯从PHP码代码的角度来说不需要,但是校招你又没有做过什么项目,那不问你数据结构跟算法,问你什么问题呢?至少,数据结构和算法可以检验你在大学中是否认真学习了。 周二刚好面试了一个php程序员,除了一道题,合格答案是O(n^2)交叉遍历两个数组,优良答案是O(N)遍历第一个数组做一个Map,再遍历第二个数组顺便查Map。

然而此人除了调用PHP方法in_array(?)之外,就不知道怎么做一个Map了。现在我们对于要不要招这个人很纠结






才怪。 这也不学,那也不学,那你学什么呢? 个人建议是:先搞定工作,业余时间有针对的学习。 有时间在这刷知乎找答案,还不如去找本数据结构的书看一看呢! 答主曾经年纪小,误入传销组织,里面各种遍历树 自从协程大行其道,数据库结构也不够用了,还要操作系统原理,并行计算都得上阵,这得多累啊,如果钱没多,着实不能干。 不用学,五年后转管理岗
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.