一、什么是数据结构
数据结构:数据的逻辑结构+数据的运算+数据的存储结构。
二、什么是数据
数据:是所有被计算机存储、处理的对象。
数据元素:数据的基本单位,在程序中做为一个整体而加以考虑和处理。数据元素是运算的基本单位,具有完整确定的实际意义。简称为元素。
数据项:数据元素又数据项组成,在数据库中被称为字段。是数据不可分割的最小单位。
三、数据存储结构与逻辑结构是什么?有什么区别?
逻辑结构:数据元素之间的逻辑关系,即数据元素之间的关联方是或邻接关系。
存储结构:是数据的逻辑结构在计算机中的实现。包括存储数据元素和数据元素之间的关联方式。
数据间的关联方式有顺序存储和链式存储。
3.1线性结构
线性结构中的一个结点至多只有一个直接后继
线性表、栈、队列、数组为线性结构
3.2层次结构
特性:
- 树形结构一个节点可以有一个或多个直接后继。可以表示更复杂的数据
- 每一层节点只能和上一层中的至多一个结点建立邻接关系。
树、二叉树为层次结构。
3.3图结构
和树形结构相比:任意两个节点之间都可以建立邻接关系。可以描述多种复杂的数据对象。
四、基本运算
对逻辑结构的加工称为运算。
运算包括建立、查找、读取、插入、删除等。
查找包括:静态查找表、二叉树查找、散列表;
静态查找表的三种基本运算:顺序表上的查找、有序表上的查找、索引顺序表上的 查找。
排序:内部排序和外部排序
内部排序:插入排序、交换排序、选择排序、归并排序。
五、算法分析
评价算法好坏的因素:正确性、易读性、健壮性、时空性。
5.1时间复杂度
同一问题可用不同的算法解决,选择算法的质量影响算法的效率。
使用质量高的算法,时间效率更高。
5.2空间复杂度
是什么?是对一个算法在运行过程中临时占用存储控件大小的量度,包括程序代码占用的空间、输入数据占用的空间、辅助变量占用的空间。