数据结构(C 语言版) 期末复习汇总第一章 绪论数据结构:是一门讨论非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科
数据结构是一门综合性的专业课程,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程
是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础
数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称
如数学计算中用到的整数和实数,文本编辑中用到的字符串,多媒体程序处理的图形、图像、声音及动画等通过特别编码定义后的数据
数据的逻辑结构划分:线、树、图算法的定义及特性算法:是为了解决某类问题而规定的一个有限长的操作序列
五个特性:有穷性、确定性、可行性、输入、输出评价算法优劣的基本标准(4 个):正确性、可读性、健壮性、高效性及低存储量第二章 线性表线性表的定义和特点:线性表:由 n(n≥0)个数据特性相同的元素构成的有限序列
线性表中元素个数 n(n≥0)定义为线性表的长度,n=0 时称为空表
非空线性表或线性结构,其特点:(1)存在唯一的一个被称作“第一个”的数据元素;(2)存在唯一的一个被称作“最有一个”的数据元素;(3)除第一个之外,结构中的每个数据元素均只有一个前驱;(4)除最后一个之外,结构中的每个数据元素均只有一个后继
顺序表的插入:n 个元素在 i 位插入,应移动( n-i+1 ) 位元素
顺序表存储结构的优缺点:优点:逻辑相邻,物理相邻;可随机存取任一元素;存储空间使用紧凑;缺点:插入、删除操作需要移动大量的元素;预先分配空间需按最大空间分配,利用不充分;表容量难以扩充;线性表的应用:一般线性表的合并:★★★算法 2
1:LA=(7,5,3,11) LB=(2,6,3)合并后 LA=(7,5,3,11,2,6)算法思想:扩大线性表 LA,将存在于线性表 LB 中而不存在于线性表