数据结构概述
数据结构:数据和数据之间的关系
分类
数据的存储结构:
1.顺序存储结构:占用一段连续的内存,数据是一个挨着一个的
2.链式存储结构:不一定是一组连续的存储单元,可以是分散的,
以上两者的区别:顺序结构是线性的,链式结构是离散的。顺序结构查找快,链式结构插入,删除灵活。
数据的逻辑结构:
1.集合:所有的元素是并列关系,即元素与元素之间是独立的
2.线性表:除了表头和表尾,中间的数据都是连续的,即前面也有后面也有,比如表和数组
3.树结构:主要是用来描述一对多的数据关系
4.图形结构:主要是用来描述多对多的数据关系
算法概述
定义:解决问题的思路
特性
输入:有输入
输出:有输出
有穷性:算法经过一系列步骤后必须终止,即算法的运行时间是有限的
确定性:相同的输入得到相同的输出
可行性:能够解决实际问题
如何衡量一个算法的优劣
时间复杂度:运行需要多长时间
空间复杂度:运行需要占用多大内存