第六讲
线性表的顺序表示和实现
线性表的顺序存储结构:按照逻辑顺序依次存放在一组地址连续的存储单元里,称为顺序表。
特点:
逻辑顺序和物理顺序是一致的。
数据元素的关系是以计算机内物理位置相邻来体现的。
基本操作:初始化、赋值、查找、修改、插入、删除、求长度
第六讲
线性表的顺序表示和实现
线性表的顺序存储结构:按照逻辑顺序依次存放在一组地址连续的存储单元里,称为顺序表。
特点:
逻辑顺序和物理顺序是一致的。
数据元素的关系是以计算机内物理位置相邻来体现的。
基本操作:初始化、赋值、查找、修改、插入、删除、求长度
第五讲
线性表的类型和定义
定义:一个线性表是n个数据元素的有限序列。
(首)结点——(尾)结点——直接前驱——直接后驱
第04讲
算法和算法分析
1、算法:对特定问题求解方法的一种描述。
五个特征:有穷性、确定性、可行性、输入、输出
算法和程序的异同
标准:正确性(满足具体问题的需求)、可读性、健壮性(满足容错处理)、通用性(对于一般的数据集合都成立)、效率与存储量需求(处理速度和最大存储空间)。
算法:解决问题的步骤。
程序:算法的代码实现。
算法需要使用程序来具体实现。
抽象数据类型:通过固有的数据类型来表示和实现,用已存在的数据类型来说明新的数据类型。
类C语言的定义
(1)预定义常量和类型
TRUE\OK=1 FALSE\ERROR=0 INFEASIBLE=-1 OVERFLOW=-2
Statue为函数类型,结果为函数的状态代码
(2)typedef:数据结构的类型,约定类型为ElemType由用户在使用该数据类型时自行定义。
(3)基操操作的算法描述
&开头的参数为引用参数。
(4)赋值语句 :
简单赋值:变量名=表达式 串联赋值:变量名1=变量名2=......变量名K
成组赋值:(变量名1,变量名k)=(表达式1,......表达式k)
交换赋值、条件赋值
(5)选择语句
选择语句:if(表达语句)——else
开关语句:switch(表达式)——case值1——default
(6)循环语句
for语句、while语句、do—while语句
(7)结束语句
return、Case结束语句:break、异常结束语句:exit(异常代码)
(8)输入输出语句
输入:scanf
输出:printf
(9)注释
单行注释 //文字序列
(10)基本函数
max、min、abs(绝对值)、floor(不足整数值)、ceil(进位整数值)、eof(文件结束)、eoln(行结束)
(11)逻辑运算约定
1、数据结构的型式定义:二元组。其中D有限集、S是D关系上的有限集。 Data-Structure=(D,S)
复数是一种数据结构。
2、数据结构在计算机中的表示称为数据的物理结构(存储结构)。两种存储结构:顺序存储和链式存储
3、顺序结构:数据元素存放的地址是连续的。
链式结构:数据元素存放的地址是否连续没有要求。
4、算法的设计取决逻辑结构,实现取决于存储结构
5、数据结构三个组成部分:逻辑结构、存储结构、数据操作
6、逻辑结构分:线性表、树、图。
物理结构分:顺序存储结构、链式存储结构、
7、数据类型:值的集合和定义在这个值集上的一组操作的总称。 v
8、数据结构的运算包括:
建立(Create)
消除(Destroy)
插入(Insert)
访问(Access)
修改(Modify)
排序(Sort)
查找(Search)
9、抽象数据类型是指一个数学模型以及定义在该模型上的一组操作
顺序文件:记录按其在文件中的逻辑顺序依次进入存储介质。在顺序文件中,记录的逻辑顺序和存在储顺序是一致的。
数据表:存储实际的数据记录
索引表:存储记录的关键字和记录(存储)地址之间的对照表,每个元素称为一个索引项。
如果数据文件中的每一个记录都有一个索引项,这种索引项称为稠密索引,否则,称为非稠密索引。
对于非稠密索引,通常将文件记录划分为若干块,块内记录可以无序,但快间必须有序。若块内记录是有序的,称为索引顺序文件,否则称为索引非顺序文件。对于索引非顺序文件,只需对每一块建立一个索引项。
基数排序又称桶排序或数字排序:按待排序记录的关键字的组成成分(或“位”)进行排序。
结点:一个数据元素及其若干指向其子树的分支。
结点的度、树的度:结点所拥有的子树的棵树称为结点的度。树中结点度的最大值称为树的度。
叶子结点、非叶子结点:树中为0的结点称为叶子结点(或终端结点)。相对应地,度不为0的结点称为非叶子结点(或非终端结点或分支结点)。除根结点外,分支结点又称为内部节点。
孩子结点、双亲结点、兄弟结点:一个结点的子数的根称为该节点的孩子结点或子结点;相应地,该结点是其孩子结点的双亲结点或父结点。
层次、堂兄弟结点:规定树中根结点的层次为1,其余结点的层次等于其双亲结点的层次加1
结点的层次路径、祖先、子孙:从根节点开始,到达某结点P所经过的结点称为结点p的层次路径(对于树结构,路径有且只有一条)
结点p的层次路径上的所有结点(p除外)称为p的祖先
以某一结点为根的子树的任意结点称为该
线性表的类型和定义
线性表的顺序表示和实现
线性表的链式表示和实现
一元多项式的表示及相加
基本要求:熟悉循环链表和双向链表的结构特点
双向链表:指的是构成链表的每个结点中设立两个指针域:一个指向其直接前趋的指针域prior,一个指向其直接后继的指针域next。这样形成的链表中有两个方向不同的莲,故称为双向链表。
双向链表的结点删除:设要删除的结点为p,删除时可以不引入新的辅助指针变量,可以直接先断链,在释放结点。
注意:与单链表的插入和删除操作不同的是,在双向链表中插入和删除必须同时修改两个方向上的
建立(Create)
消除(destroy)
有向无权临界矩阵不对称
第三十三讲:PPT课件
张金莲 教授
http://wj.mooc.xjtudlc.com/course/182/task/13447/show#
10月12日 星期一
第三十一讲:PPT课件
张金莲 教授
数据结构
图的邻接矩阵表示法
第七章 图
图的存储结构:
http://wj.mooc.xjtudlc.com/course/182/task/13431/show#
10月12日 星期一
第三十一讲:PPT课件
张金莲 教授
数据结构
http://wj.mooc.xjtudlc.com/course/182/task/13435/show#
10月12日 星期一
第二十六讲:PPT课件
张金莲 教授
http://wj.mooc.xjtudlc.com/course/182/task/13375/show#
10月12日 星期一
第二十五讲:PPT课件
张金莲 教授
http://wj.mooc.xjtudlc.com/course/182/task/13370/show#
10月12日 星期一
第二十四讲:PPT课件
http://wj.mooc.xjtudlc.com/course/182/task/13363/show#
第六章 树与二叉树
10月12日 星期一
第二十一讲:PPT课件http://wj.mooc.xjtudlc.com/course/182/task/13335/show#
10月12日(星期一),队部http://wj.mooc.xjtudlc.com/course/182/task/13285/show
9月学习:
10月学习;