数据结构
Mason_Zhao
stay hangry,stay foolish
展开
-
数据结构——图的链式存储结构实现
一、邻接表Adiacency List(链式)表示法对每个顶点vi 建立一个单链表,把与vi有关联的边的信息(即度或出度边)链接起来,表中每个结点都设为3个域; 每个单链表还应当附设一个头结点(设为2个域),存vi信息; 每个单链表的头结点另外用顺序存储结构存储。 对于任一确定的无向图邻接表不唯一 邻接表的空间复杂度为O(n+e),多用于稀疏图的存储(e<<n...原创 2018-11-24 18:13:13 · 3782 阅读 · 0 评论 -
二叉树链式存储结构
由二叉树定义得知,二叉树的结点由一个元素和分别指向其左、右子树的两个分支构成,则表示二叉树的链表中的结点至少包含3个域,如下图。二叉树建立程序是如何建立出二叉树的?(以下图为例)从主函数开始执行:定义一个BiTNode类型的指针root,将指针root的地址赋给T(T是一个BiTNode类型指针的指针)然后执行CreatBiTree:输入a,输入的不是空格,给T指向的指针即r...原创 2018-11-06 18:38:29 · 8682 阅读 · 2 评论 -
数据结构——图的数组(邻接矩阵)表示法
数组表示无向图用两个数组(vexs[],arcs[][])分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。以二维数组表示有n个顶点的图时,需存放n个顶点信息和n^2个弧信息存储量。若考虑无向图的邻接矩阵的对称性,则可采用压缩存储的方式只存入矩阵的下三角(或上三角)元素。下示算法时在邻接矩阵存储结构MGraph上对图构造的实现框架,它根据G的种类调用具体构造的算法。例如G为无...原创 2018-11-20 00:22:19 · 7436 阅读 · 3 评论 -
一元多项式的表示及相加
问题描述实现一元稀疏多项式的表示及基本操作(建立、销毁、输出、加法、减法等操作)算法设计 实现要定义的一元多项式应采用链式存储结构。根据一元多项式相加的运算法则,对于两个多项式中所有指数相同的项,对应系数相加,若其和不为零,则构成新多项式的一项;对于两个多项式中所有指数不同的项,分别复制到新多项式中。新多项式不必另外生成,而是在原来的两个多项式中摘取结点即可。 采用顺序存储...原创 2018-11-15 15:17:33 · 2728 阅读 · 0 评论 -
数据结构——顺序栈的基本操作实现
栈 是限定仅在表尾进行插入操作或删除操作的线性表。因此,对栈来说,表尾有其特殊含义,称为栈顶 (top),相应地,表头端称为栈底(bottom)。不含元素的空表为空栈。假设栈S=(a1,a2,...,an),则成a1为栈底元素,an为栈顶元素。栈中元素按a1,a2,...,an的次序进栈,退栈的第一个元素应为栈顶元素。换句话说,栈的修改是按后进先出的原则进行的(如图3.1(a)所示)。因此,...原创 2018-11-08 20:43:46 · 1001 阅读 · 0 评论