数据结构课程相关问题

数据结构课程学习要注意什么?

一个软件系统框架应建立在数据之上,而不是建立在操作之上。一个含抽象数据类型的软件模块应包含定义、表示、实现三个部分。

对每一个数据结构而言,必定存在与它密切相关的一组操作。若操作的种类和数目不同,即使逻辑结构相同,数据结构能起的作用也不同。

不同的数据结构其操作集不同,但下列操作必不可缺:

1. 结构的生成;
2. 结构的销毁;
3. 在结构中查找满足规定条件的数据元素;
4. 在结构中插入新的数据元素;
5. 删除结构中已经存在的数据元素;
6. 遍历。

抽象数据类型:一个数学模型以及定义在该模型上的一组操作。抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。抽象数据类型可用以下三元组表示:(D,S,P)。D是数据对象,S是D上的关系集,P是对D的基本操作集。ADT的定义为:

ADT 抽象数据类型名{
数据对象:(数据元素集合)
数据关系:(数据关系二元组结合)
基本操作:(操作函数的罗列)
} ADT 抽象数据类型名;

抽象数据类型有两个重要特性:

* 数据抽象
o 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。
* 数据封装
o 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。
数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。线性结构的顺序存储结构是一种随机存取的存储结构,线性表的链式存储结构是一种顺序存取的存储结构。线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。

算法的设计取决于数据(逻辑)结构,而算法的实现依赖于采用的存储结构。数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新的排序等。

数据结构的形式定义为:数据结构是一个二元组:

Data-Structure=(D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。

数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。
温馨提示:答案为网友推荐,仅供参考
相似回答