浅析大学课程—数据结构 数据结构课程设计报告


数据结构课程设计报告(浅析大学课程—数据结构)
对于计算机行业,说到数据处理,就不得不提到数据结构,它也是对软件开发和考研都有非常非常重要作用的一门课程 。

那么什么是数据结构?在这个问题之前,我们先来研究另外一个问题:计算机的作用是什么?
可以这样简单的总结为:计算机的作用就是通过各种各样的程序,处理形式多样的数据 。
这里有两个关键字,一个是数据,一个是处理 。

所以我们可以进一步思考:我们要处理的数据又有哪些具体的形式?对于某种形式的数据可以进行怎样的处理?
假如,我们想要开发一个图书馆的图书管理系统 。联想我们提及的关键字,一个是数据,一个是处理 。显然,我们需要面对的数据就是图书馆中各种各样的图书信息,而这些藏书的信息可以被总结归纳为一张表格 。
而我们拿到这样一张表格,面对浩如烟海的藏书信息,我们能够进行什么处理?
对于一个图书管理系统,我们所期待的数据处理,主要包括:输入、输出、查询、排序……
具体到某一种操作,比如说顺序查找、折半查找、索引查找等等,这些处理如何实现呢?或者说:这些操作的算法如何呢?

考虑好要处理的数据,考虑好操作的实现方式,再结合语言基础,把中文表述翻译成C语言,其实就是我们写程序的过程 。
从某种角度上看来,程序就是算法加数据结构 。
再比如,开发一个学生信息管理系统 。处理的数据就变成了学生对应的信息,但是对这些数据想要进行的操作还是换汤不换药,无非就是增删改查操作 。从本质上讲,这个系统和图书管理其实就是一回事 。
从这两个简单的例子里面,应该可以明显地察觉到:我们所做的第一件事情,其实就是把实际问题抽象为数据模型 。

只不过这种数学模型不是方程组,不是微分方程,而是一张表格,里面填满了我们关心的数据指标,或者是一张图,各个元素之间有某种指向,可以研究指向的规律 。
经研究发现,从外表上形式千差万别的数据,如果按照数据间的邻接关系来划分,所有的数据一定可以归为四种结构之一:
(1)线性结构这是一组数据的集合,它们之间存在这样一种邻接关系,第一条数据无前导,最后一条数据无后继,中间所有的元素满足一前导一后继的条件 。

(2)树状结构用图示的方法表示像是一个家谱图,圆圈可以表示数据,而连线表示数据之间的邻接关系 。根据层次的不同,把数据分为前后 。对树状结构,有一个最明显的特征,最高的层次只有一个节点,它被称为树的根;对于中间层次,它只有一个前导,而可以有多个后继;对于最后一个层次,它同样也是只有一个前导,但是没有后继,也被形象地称为叶子 。

猜你喜欢