1、什么是数据结构
a、线性结构的特点:在数据元素的非空有限集中,(1)存在唯一的头结点和尾结点。(2)除了头结点和尾结点,其余结点有且只有一个前驱和后继。
2、基本概念和术语
- 数据:是对客观事物的符号表示。
- 数据元素:是数据的基本单位。
- 数据项:是数据的最小单位。
- 数据对象:是具有相同性质的数据元素的集合。
- 关键码:数据元素中能起标识作用的数据项(唯一)。
- 关系:集合中数据元素之间的联系。
- 数据结构:数据元素之间存在一种或多种关系;记作:DS=(S,R),S 是数据元素的集合,R 是 S 上关系的有限集合。
- 逻辑结构:数据对象及其内部元素间的相互关系,它依赖于计算机编程语言。
- 物理结构:数据对象及其内部元素之间的相互关系在计算机存储器中的存储方式,也称存储结构。
- 数据运算:对数据对象施加的一组操作。
3、抽象数据类型的表示与实现
4、算法和算法分析
1、算法
2、算法设计的要求
3、算法效率的度量
4、算法的存储空间需求
什么是数据结构和算法
瑞士科学家尼克劳斯.沃思(Niklaus Wirth)教授提出:程序=数据结构+算法
- 数值计算:数学模型是以微分方程为代表的连续性数学模型。
- 非数值计算:数学模型是以数据结构为代表的离散数学模型。
相关概念
逻辑结构
- 集合:数据元素间除“同属于一个集合”外,无其它关系。
- 线性结构:一个对一个,如线性表、栈、队列。
- 树形结构:一个对多个,如树。
- 图状结构:多个对多个,如图(Graph)、网。
- 序偶关系:如<春,夏>表示的意思是春季之后的下一个季节是夏季,夏季的下一个季节是春季。
物理结构
- 数据域:数据元素自身值的表示。
- 指针域:一个结点与其它结点关系的表示。
- 四种基本的存储结构:
- 顺序存储结构,例:一个有序的数字序列。
- 链式存储结构,例:字符序列。
- 索引存储方法,一般形式是<关键字,地址>,关键字标识结点,地址作指向结点的指针。
- 散列存储方法,根据结点的关键字,然后通过散列函数直接计算出结点的存储地址。实质是顺序存储方法的扩展。
- 数据运算:逻辑结构和存储结构不同,对数据运算的要求也会不同。所以数据的运算既面向逻辑结构又面向存储结构。检索、排序、插入、删除、修改等
抽象数据类型
略
C 语言结构体回顾
略(视读者反馈情况补充)
Thanks♪(・ω・)ノ 感谢支持!!!