数据结构与算法-介绍
数据结构主要是研究数据在计算机中的组织、存储和运算方法。
数据结构在计算机科学中的地位:
数据结构的基础概念:
数据:
数据元素:
数据项:
数据对象:
数据结构:存在关系的数据元素的集合,带有结构的数据元素的集合。即数据的组织形式。
数据类型:一组性质相同的值集合以及这个集合上的一组操作。
抽象数据类型(ADT-Abstarct Data Type):
ADT的实现方式:
1.面向过程
2.面向对象
ADT 的重要特征:
1.数据抽象
2.数据封装
数据的逻辑结构有几种:
-
集合结构
-
线性结构(一对一)
-
树形结构(一对多)
-
图形结构(多对多)
数据的存储结构有几种:
存储结构:逻辑机构的实现,包括元素和关系的表示。
数据元素的表示:
数据元素关系的表示:
- 顺序存储
- 链式存储
数据的运算集合
增、删、改、查
算法
定义:规则的有限集合
特征:
1. 有限性
2. 确定性
3. 可行性
4. 输入
5. 输出
算法设计的要求
1.正确性
正确性的四个层次:
1. 不含语法错误
2. 几组数据正确输出
3. 刁难型的数据能有正确输出
4. 对于一切合法输入都有正确输出
2.可读性
3.健壮性
4.高效率和低存储
算法性能的评价
1.时间复杂度
算法执行时间的相关因素:
- 算法的选择
- 问题的实现
- 编写程序的语言
- 机器代码的质量
- 计算机执行指令的速度
我们这里不考虑后三个
算法执行时间大致等于所有语句的执行时间总和。源操作的执行次数作为估算时间复杂度的大小依据
2.空间复杂度
算法空间复杂度的相关因素:
- 输入数据所占的空间
- 程序本身所占的空间
- 辅助变量所占的空间