迷惑,数据结构在web开发中的应用。地位
我是做php开发的.
最近在学习数据结构,感觉有点难度. 不过还好..
请列举一下,数据结构,算法, 在web开发中要求较高的是哪块?
在web开发中, 数据结构,算法的 地位.是如何?
因为,我脑子里还是 curl. 外加一些设计模式那些.
谢谢.
Answers
其实数据结构算法之类在web开发中并没有非常具体的体现,它们主要是增强开发人员的思维能力,解决问题的实力,大部分是内在表现。
比如在数据库中实现一个文件系统目录结构(父子节点),应该就会用到一些递归思想,这类问题还是很普遍的。
谈到地位的话,需要看web开发的方向:
1.如果是web前端:那么算法、数据结构的作用基本没有(画页面、基本的javascript用户体验),但是若是用javascript或as3开发游戏之类的特殊方向,对算法要求相当高,鉴于有大量的物理引擎(或其他封装完美的)类库,总的来说web前端的算法要求程度很低。
2.web服务器端:php从数据库存取数据,内置的方便的语法不需要多高的算法,重心要放在设计模式上,一些不聪明的解决方案也不至于对整体项目有多大影响,因此php、c#等服务器端对算法要求也不是很高。
3.web后台:这个其实就是运行在服务器上的,但是还是有些不一样的。。。举几个栗子,google drive 上传的图片直接识别里面的文字、淘宝广告的智能推送、输入法容错机制、搜索引擎自然语言查找---这些学科姑且叫做web后台,那么他们对算法、数据结构的要求就无上限了,这些功能基本靠机器学习来实现,了解一些的话会知道需要极高的概率统计、线性代数和一点微分知识,这些数学思想就是算法了。
如果你很喜欢前端,并且想走产品经理路线的话,算法没必要学(当然,学了会变聪明)。
否则,建议从同时学点概率、线性代数,目前的市场来看机器学习、视觉之类的技术很火很值钱。
如果很忙或者看数学就会呕吐,至少看点数据结构,毕竟是程序员的基本功