我的数据结构思考--何为数据结构?

来源:互联网 发布:加特林机枪玩具淘宝网 编辑:程序博客网 时间:2024/04/28 10:05

引言 :

 数据结构是学习软件开发乃至计算机科学都必修的一门课程。因此,在学习此门科学之前,我想是有必要从宏观上来把握一次数据结构,至少我们得明白-----何为数据结构。

何为数据结构?为什么会产生数据结构?为什么要研究数据结构?

附:书本定义:数据结构是相互之间存在着一种或多种特定关系的数据元素的集合。

我的思考

很明显这是一个比较抽象的定义,我们回顾下一个词—“抽象”,现实生活中解决任何问题都离不开抽象的概念,抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。所谓的共同特征,是相对的,是指从某一个刻面看是共同的,比如,对于汽车和大米,一个是机器,而另一个是食物,但从买卖的角度看都是商品,都有价格,这是他们的共同的特征。所以在抽象时,同与不同,决定于从什么角度上来抽象。抽象的角度取决于分析问题的目的。数据结构是从计算机的角度对现实世界的抽象,它分析的是数据元素之间的关系(数据元素也是个抽象概念),并且与计算机紧密相关。理解到这一层面后,又提出另一问题:数学,逻辑学不也是抽象数据元素之间的关系?的确是的,如果说将所有现实问题抽象为数学模型后能用数学工具加以解决,那么就不存在数据结构这门科学存在的意义了。例如:求解桥梁架构中应力的数学模型为线性方程组,预报人口增长情况的模型为微分方程等。但具体问题中也存在太多非数值计算的问题,如:图书检索,人机对弈,交通规划等。按我的理解,数学主要是抽象的是客观事物数量的关系,数据结构是抽象层次,位序的关系。比如:在计算机中实现一个通讯录的程序,让计算机能够检索,录入,删除。

数学研究已经很长的历史了,数据结构相对来说还属于萌芽阶段。因此数据结构的研究将会是非常又价值的。

原创粉丝点击