数据结构和算法

程序 = 数据结构+算法

几乎所有学过计算机的人都知道这个公式,但是为什么会有这样一个公式?这个公式对吗?程序是什么?数据结构是什么?算法是什么?为什么能够组合在一起这么表达?我希望在这里能给大家讲清楚。

程序本身可以认为是对这个现实事物的一个模拟。它之所以能模拟世界,就是因为它具有数据结构和算法。数据结构是静态的,只表达了数据之间的位置关系。算法是动态的,因为算法的定义里面很重要的一条就是“可执行”。算法弥补了数据结构的不足,它可以比较数据,修改数据。因此数据结构的静态性和算法的动态性是互补的,它们组合起来形成的表达力是无穷的。表达力是什么?我认为,A的表达力,就是所有能够抽象为A的事物。比如数字5的表达力,5只狗,5只猫,5头牛,都可以用5来表达。但是5不能表达6只狗,6只猫,6头牛,更重要的是5不能表达“从5增加1变为6的过程。数据结构和算法就不仅可以表达数字还可以表达数字的加减,突然间你会发现数据结构和算法不能表达什么,其实还是有的。

posted on 2012-10-18 14:10 侯京彪 阅读(210) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(2)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜