答紫一文
紫兄
不能不说数据结构已经变得不是那么重要了.原因嘛
不是它没用了,而是它研究的比较透了.基本上翻翻书就可以
得到一个明确,成熟的解决方法.
不过数据结构做为训练程序员的思维方式还是很有帮助
的.基本上可以说,没有详细了解过数据结构的人就不能成为
程序员.做为基础,它的重要性我同意的你的观点.
我要说的问题是在系统设计上数据结构的重要性.
就你举出的保密传输的问题而言.你似乎倾向于先表达系统的
数据关系,而不是系统的行为特征.我猜测你分析时首先找出
的一定是系统中用到的数据.而后形成一个数据网络(数据字典)
而后根据数据内聚性来定义操作,形成对象.
而在我看来,这个过程应反过来才比较合理.先找出问题中
的概念,具此形成对象;根据问题中概念的外延抽象出行为(操作);
最后将行为对数据的需要定义数据.
依此顺序最后数据的定义取决于行为(操作)的实现.自然会
选择最简单的结构,能用数组不会有人用链表.HashMap就不会用
RB-Tree Map.数据结构在系统中的地位不再是决定一切的关键.
其实现也趋于简单化,规则化,模型化.
希望对你有所启示.
不能不说数据结构已经变得不是那么重要了.原因嘛
不是它没用了,而是它研究的比较透了.基本上翻翻书就可以
得到一个明确,成熟的解决方法.
不过数据结构做为训练程序员的思维方式还是很有帮助
的.基本上可以说,没有详细了解过数据结构的人就不能成为
程序员.做为基础,它的重要性我同意的你的观点.
我要说的问题是在系统设计上数据结构的重要性.
就你举出的保密传输的问题而言.你似乎倾向于先表达系统的
数据关系,而不是系统的行为特征.我猜测你分析时首先找出
的一定是系统中用到的数据.而后形成一个数据网络(数据字典)
而后根据数据内聚性来定义操作,形成对象.
而在我看来,这个过程应反过来才比较合理.先找出问题中
的概念,具此形成对象;根据问题中概念的外延抽象出行为(操作);
最后将行为对数据的需要定义数据.
依此顺序最后数据的定义取决于行为(操作)的实现.自然会
选择最简单的结构,能用数组不会有人用链表.HashMap就不会用
RB-Tree Map.数据结构在系统中的地位不再是决定一切的关键.
其实现也趋于简单化,规则化,模型化.
希望对你有所启示.
posted on 2004-07-17 14:30 Anthony-黄亮 阅读(76) 评论(0) 编辑 收藏 举报