日期:2014-05-18  浏览次数:20432 次

我很菜!问问关于数据结构与做web的关系的问题?百分送上?
请问数据结构里面的线性表,栈和队列,数组和广义表,树(二叉树,哈夫曼树),图,排序(插入排序,冒泡排序,快速排序,归并排序,外部排序),查找等这些在web里面都用到吗?你们平时做web有没有考虑用什么算法的?上面所列的,哪些用的比较多?
恕我愚昧,似乎web就是增删改,算法、数据结构什么的似乎用不上多少,可能是我比较菜吧。
在此我诚意向各位请教!

------解决方案--------------------
看似菜,实则专业。
好的数据结构对大项目是保险公司 <让你有底> 。真是它好,你也好的{数据结构设计的合理,对项目模块的实现与维护,有太大的帮助了。}
------解决方案--------------------
高效率的WEB程序离不开,优秀的数据框架,本人比较看重数据结构{虽然从无建树,汗!!!!!#^_^!}
------解决方案--------------------
数据结构是软件的灵魂,数据结构玩的转,就能玩嘛嘛转
------解决方案--------------------
五年前,我刚毕业的时候,我的一个项目经理跟我说,不要用那么多的麻烦的算法,程序越简单越好,只要能用,性能不是太差,一切都OK,今天想象还是有一定的道理,为什么?维护贝!搞那么多的复杂的算法谁他妈的看得懂?
------解决方案--------------------
任何程序里面最常用的就是增删改
------解决方案--------------------
web上体现在哪些方面呀???


它一般不体现,但是一旦系统进行扩展,你就是发现它真的很重要{有的程序一旦扩展,程序员就恨不得跳楼,想动数据又动不了,不动还不行。可是对于好的数据结构,是进也容易,退也容易。}

似乎还是抽象,可是真不知道数据结构怎么讲才不抽象。因为它本来就是内功(比较抽象,考验人的经验与思维{即中国说的“城府”深不深})
------解决方案--------------------
@20010430505()

先作好编码吧,等你的项目非常大的时候你会知道的{我也只是知道,感受到而已,希望有机会自己实现一下}
------解决方案--------------------
Coder似乎就是LZ说的(可又不是全部)
------解决方案--------------------
过多的业务逻辑会使程序的执行效率变得很慢{数据越多越是如此}。您说的N层只是亡羊补牢的一部分{三层结构只是一些有经验的老程序人的实践中总结出来的,易于维护与管理)}
------解决方案--------------------
假如,你只做纯【网站】类型,或者是 CMS ,
你很难体会到【数据结构】在你的项目中应用,
因为,【纯网站】的几乎就是 CRUD (数据添加、查询、更新、删除)四个操作,
而此部分功能与物理存储结构相关的部分都由数据库帮你实现了

至少你知道,数据库中有一种叫做【索引】的东东吧?数据结构不是也用嘛?

你只是用了现成的产品,不管是,逻辑结构还是物理结构都是人家【数据库】帮你搞定了

------解决方案--------------------
to octverve(生命无色,命运多彩……) ,你说便于扩展,那我用三层,七层或者更多行不行?你要移植数据库,那我把sqlserver或者oralce层改一下,你要用winform,那我把web层改一下。要改动业务逻辑,我就改bll层。可是这些似乎是架构的事,这个与数据结构关系不大吧?


RE:
你的帖子是问数据结构与做web的关系,我理解的是“仓库与仓库搬运工的关系,搬运工不管你如何码放,你永远是按照仓库的格局放的吧。仓库的格局又影响了搬运工的工作效率(格局合理,就会省去不少搬运工的事)”
------解决方案--------------------
web项目,时下比较多的CRM,ERP等等,但照LZ那么想,都一样的,站在WEB应用这一层是看不到结构层有什么变化的。
------解决方案--------------------
其实做一般的网站和OA,数据结构还是用到点的,比如递归查找控件啊,生成树,存储过程递归删除N级的树结构,
但是说点里面的算法,基本上很少用到。
------解决方案--------------------
当你涉及,应用型项目的时候,比如金融系统,你会发现完全,就不是单纯的 CRUD 四个操作了,当然最终的数据持久化工作还是它们,但是在进行这四个操作之前,你还需要根据复杂的业务逻辑进行处理,这个过程就需要你考虑,具体算法的选择甚至自己设计了

请你,不要说 【数据结构】【算法】【没有用到】,事实上你时时刻刻都在【消费】课堂上学到的【经典】

比如,

DataTable.Select 你说他不需要算法吗?

ArrayList.Sort/.BinarySearch() 不需要算法吗?

....

只是,我们现在已经习惯了大型类库的支持,小项目小应用根本就不会切身体会

假如,.net 类库是你开发的,你还会这样认为吗?

回过头看,假如《数据结构》课程你没有学校,当你看到 ArrayList.Sort/.BinarySearch() 是不是一头雾水?(前者是使用【快速排序】,后者使用【二分法查找】)
另外,.net 还是会告诉你 使用 ArrayList.BinarySearch() 之前,请先用对 ArrayList 进行排序,否则结果非预期的!为什么?只要你学过了数据结构,你自然就明白,否则,你又会蒙了,
即使有现成的给你用,你也不会用 ....
------解决方案--------------------
我觉得数据结构很重要呢,要领会其中的原理,灵活运用,例如做树状菜单、企业组织结构、文档管理的时候,就要用到树结构的算法
------解决方案--------------------
我就是做ERP的,我觉得数据结构很有用
------解决方案--------------------