程序设计 = 数据结构 + 算法。
结构分类
逻辑结构
集合结构:数据间没有对应关系;集
线性结构:数据间一对一的关系;表
树形结构:数据间一对多的关系;树
图形结构:数据间多对多的关系;图
物理结构
顺序结构:数据在存储空间连续存储;
链式结构:数据在存储空间不连续存储;
每一种具体数据存储可以是两种结构的组合,如数组为顺序线性存储;链表为链式顺序存储;
逻辑结构与物理结构关系
表 树 图
顺序 顺序表(数组) 顺序树 顺序图
链式 链式表(链表) 链式树 链式图
顺序结构和链式结构比较
顺序结构:省空间;查找速度快(O(1)),插入删除慢(O(n));
链式结构:费空间;插入删除快(O(1)),查找速度慢(O(n));
结构模型
数组
机构体
堆栈
此处堆栈为结构模型的提法,堆栈为迭代词,与系统级别的进程空间中的堆和栈不是一个概念;
堆栈的特点为后进先出;
堆栈的要素:资源分配,栈顶,判满判空;
实现:顺序表实现;链表实现;