今天由我来跟大家讲一下数据结构的绪论部分吧。数据结构整体复习主要靠理解。理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩。这篇只是个结构概括,理解就行。
1.1 基本概念
1、数据:即信息。
2、数据元素:数据的基本单位。如:一个学生记录就是一个数据元素,由学号、姓名等数据项构成(数据项为构成数据元素的不可分割的最小单位)。
3、数据对象:相同性质的数据元素集合。数据的子集。
4、数据类型:一个值的集合和在此集合上一组操作的总称。
5、抽象数据类型:ADT。一个模型和在此模型上的一组操作。
6、数据结构:三要素:逻辑结构+存储结构+数据运算。
数据结构三要素
1、逻辑结构:数据元素之间的逻辑关系,解决的是两个元素时间是什么关系这个问题。有线性和非线性两大类。
2、存储结构:即物理结构,解决的是物理实现的问题。一般由4类,严蔚敏老师的书里好像只提到了俩。
3、数据运算:包括运算的定义和实现。定义针对逻辑结构,运算针对存储结构。
1.2 算法及评价
1、性质:有穷性、确定性、可行性、输入、输出。
2、目标:正确性、可读性、健壮性、时空效率。
算法评估
通过时间复杂度O(n)、空间复杂度S(n)体现。这两个通常会和后面各种排序算法比较中用到。
O(n)一般由最深层循环原子操作的次数得出。考点之一。
两条规则:
a、加法规则--用于并列
b、乘法规则--用于嵌套
O(1) < O(log n) < O(nlog n) < O(n2) < O(n3) < O(2^n) < O(n!) < O(n^n)
S(n)为所需的辅助额外空间。
这里注意一个原地工作不是指不需要辅助空间,而是其相对输入和程序本身所占空间来说为常量。
来张大图:
时间: 2024-10-07 14:14:25