数据结构在软件开发中真得很重要吗?
昨天聊天的时候,QQ群里一个朋友提了一个问题,说正在学习Sun的开源论坛JLive,
感觉里面有很多数据结构方面的知识,突然觉得数据结构真的很重要,由此群里成员展开
了讨论,从而引出了本话题。
本人06年参加工作,主要从事应用软件方面得开发,熟悉NET和Java,公司的主要开发
工具是Delphi和NET。就目前我所经历得项目而言,数据结构用得真得很少,公司软件里面
体现得算法,也没有几个是自己原汁原味写得,一些好得通用的算法,都是直接从网上找得
别人写好得。尤其是用NET写得BS软件,更是很少接触到数据结构,一些常用数据结构方面的
东西,微软的API已经封装得很好了,根本不用自己去写,开发时直接用就是了。
由此引出几个疑问,
1.项目周期开发时间越来越短,真得有时间让你在一个问题上把数据结构和算法体现得
淋漓尽致吗?举一个小例子,开发人员在很短得时间内写了一个效率很低得算法,
客户反映速度慢,直接加条内存就是了,提高服务器性能,速度问题就可以很完美得
解决了。你把一个算法写得很完美,浪费了时间,但结果绝对没有提高一下服务器性
能来的省事与直接。
2.现在的语言,像NET和Java,已经对一些常用的数据存储进行了封装,我们只要熟悉怎
么用就可以了。真得有必要再自己研究一套出来吗?
3.如果有同样得时间,我们是来研究数据结构与算法,把这些东西都弄懂好,还是关注一
下本行业得软件发展动态,升级一下软件得功能来得好?这之间怎么取舍。
4.现在一些公司得面试,大部分都考数据结构,目的是什么?就是单单考查一个人得基础
知识掌握程度吗?
5.随着硬件性能得提高,数据结构真得很重要吗?现在主流机器配置都到2G内存了,算法
就是再烂,速度能慢到哪里去?
以上是我个人的一点愚见,行业不同,对数据结构和算法的应用程度也不一样,我桌子上
现在就放着一本《Java数据结构》,正在犹豫着自己是不是要再看一下。
现在学校的一些老师和市面上得一些专家。一直在宣扬数据结构有多重要,好像不会数据
结构就不能写程序一样,对这点,我一直不苟同。所以发了这篇帖子,希望能清楚数据结构在
软件开发中的真实地位及应用场景。