数据结构与算法理论概述
数据结构概述
狭义上:数据结构是专门研究数据存储的问题;
数据的存储包括:个体的存储+个体关系的存储;广义上:数据结构既包含数据的存储也包含数据的操作;
对存储数据的操作就是算法;
◆ 数据结构涵盖的内容
◆ 存储数据
至少通过两种结构存储数据:
- 线性结构:
- 数组:存储速度快,需要一块很大的连续存储空间,但是插入,删除元素效率低,删除第一个元素整体前移;连续存储
- 链表:解决了数组的缺点,但查找某个位置的元素效率低,只能一个一个找;离散存储
- 线型结构应用:栈 队列
- 非线性结构:
- 树
- 图
算法概述
狭义:算法是和数据存储的方式密切相关
广义: 算法和数据的存储方式无关;这就是泛型思想利用某种技术达到的效果就是:不同的存数方式,执行的操作是一样的;
◆ 算法的基本特性
输入、输出、有穷性、确定性、可行性
◆ 算法设计要求
①正确性、②可读性、③健壮性、④效率与低存储量需求
◆ 算法分析
时间复杂度 空间复杂度 稳定性