王道数据结构讲义,王道数据结构csdn
引言数据元素是数据的基本单位,通常作为一个整体来考虑和处理。(描述个人的具体信息)
一个数据元素可以由几个数据项组成,这些数据项是组成数据元素的最小且不可分割的单元。
对象是具有相同性质的数据元素的集合,是数据的子集。
结构是具有一个或多个特定关系的数据元素的集合。
(强调数据元素之间的关系)
下图:同一数据对象中的数据元素可以形成不同的数据结构。
当然,不同的数据元素可以形成相同的数据结构。
元素之间的逻辑关系:定义一个数据结构。
1.集合:(非试验场地)非线性结构
所有数据元素都属于同一个集合,没有其他关系。
二。线性结构:线性结构
一对一的关系
除了第一种元素,所有元素都有唯一的前驱;除了最后一个元素,其他所有元素都有唯一的后继元素。
3.树形结构:非线性结构。
一对多关系
四。图形结构(网络):非线性结构
多对多关系
数据操作:按照一定的逻辑结构,根据实际需求定义基本操作。
例如,对于线性结构的基本操作:
找到第I个数据元素。
删除第I个数据元素。
在第I个位置插入一个新的数据元素。
.
数据的物理结构(存储结构):如何用计算机实现这种数据结构?
1.在物理上相邻的存储单元中顺序存储逻辑上相邻的元素。
第二,链式存储逻辑上相邻的元素可能物理上不相邻,元素之间的逻辑关系由指示元素存储地址的指针表示(下一个数据元素的存储地址由指针表示)。
第三,索引存储不仅存储元素信息,还建立了附加的索引表。索引表记录每个数据元素的关键字以及每个数据元素在内存中的位置。索引的形式一般是(关键词,地址)。
四、哈希存储(hash storage)根据元素的关键字直接激素出元素的存储地址。
总结:
1.如果采用顺序存储结构,每个数据元素在物理上必须是连续的。如果采用非顺序存储结构,每个数据元素在物理上可以是离散的。
2.数据的存储结构会影响存储空间分配的便利性。
3.数据的存储结构会影响数据操作的速度。
4.运算的定义是指逻辑结构,指出运算的功能。
操作的实现针对存储结构,指出了操作的具体操作步骤。
类型,抽象数据类型:
算法:对具体问题求解步骤的描述,是一个有限的指令序列,其中每条指令代表一个或多个操作。
算法满足以下条件:有限性:程序可以是无限的。
确定性:同样的投入只能得到同样的产出。
可行性:
输入
输出
好算法的特征:正确性:
可读性
健壮性:当输入非法数据时,它会做出相应的响应或处理。
和空间复杂度低。
程序=数据结构算法
博客作者之一,为确定原创作品。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。