0.引言
以下概念均参考彭波数据结构
1.绪论
数据元素的四种基本逻辑结构
集合、线性结构、树形结构、图状或网状结构
两种物理结构
顺序存储结构、链式存储结构
算法的设计取决于逻辑结构,算法的实现依赖于物理结构
算法的概念
算法的特性:有穷性、确定性、可行性、输入、输出
程序是算法(这个算法可以用不同的语言来写)的实现
算法的设计要求:正确性、可读性、鲁棒性、高效性
算法的效率包括时间和空间,也就是时间按复杂度和空间复杂度
算法的时间复杂度取决于算法中基本操作的频度
2.线性表
线性表的定义:线性是n个具有相同属性的数据元素组成的有限序列
注意一定是有限序列
线性表可以有两种存储表示法:顺序存储表示和链式存储表示。
顺序表的定义:把数据元素按照次序依次存放在一组地址连续的存储单元里。采用这种存储方式的表称为线性表。
顺序表是一种随机存储结构
数组类型也具有随机存储的特性,因此可以采用数组来描述顺序表中数据元素的存储区域
顺序表是用一维数组实现的线性表,逻辑上相邻的元素在物理上也相邻
缺点:在插入和删除时需要移动大量的元素
链表:通过每个节点的指针将线性表中的元素按照逻辑顺序连接在一起的存储方式,采用这种存储结构的线性表称为链表。
头节点:通常在单链表的第一个结点之前附加一个相同结构的结点,这个结点一般不存储数据
头指针:指向头结点的指针称为头指针
单链表的特点:逻辑上相邻的两个元素,他们的存储位置不要求相邻。
线性表两种存储方式的比较(十分重要):从时间和空间两方面说
未完待续,持续更新…