数据结构
文章平均质量分 71
hmh86
这个作者很懒,什么都没留下…
展开
-
二叉树的创建及线索化
在下图这样的存储结构中,指向前驱和后继结点的指针称为线索,对二叉树以某种次序进行遍历并且加上线索的过程称为线索化,线索化了的二叉树称为线索二叉树。以下为中序线索化二叉树的程序//线索二叉树及遍历#includetypedef char Elemtype;typedef struct Node{ Elemtype data; struct Node *LCh原创 2016-11-25 16:50:12 · 282 阅读 · 0 评论 -
二叉树的创建及遍历
对任意的二叉树的结点结构都可以设置为如下结构,leftChild指向该结点的左孩子,rightChild指向右孩子,data域记录结点信息,以此结点结构形成的二叉树称为二叉链表。存储结构类型为typedef char Elemtype;typedef struct Node{ Elemtype data; struct Node * LChild; struct N原创 2016-11-10 15:30:56 · 313 阅读 · 0 评论 -
用链栈实现任意进制的转化
任意进制的转化基本思路是以十进制为中转,先将其他进制转为十进制,再由十进制转目的进制/* 栈的结构类型 */typedef char ElemType;typedef struct Stack{ ElemType elem[N]; int top;}Stack;//初始化栈void InitStack(Stack *S){ S->top=-1;}//出栈voi原创 2016-11-03 09:56:41 · 2572 阅读 · 1 评论 -
十字链表储存稀疏矩阵及矩阵相乘
在进行矩阵的加法、减法和乘法等运算时,用十字链表表示稀疏矩阵比用三元组表示更灵活,以下为结构图和代码原创 2016-11-03 09:28:11 · 3917 阅读 · 5 评论 -
求图的邻接表表示法的单源最短路径 Dijkstra算法
要求带权有向图中某一顶点到其他各顶点的最短路径,常用Dijkstra算法,该算法基本思想是,先将图的顶点分为两个集合,一个为已求出最短路径的终点集合(开始为原点v1),另一个为还未求出最短路径的顶点集合(开始为除v1外的全部结点),然后按最短路径长度的递增顺序逐个将第二个集合的顶点加到第一组中。 算法中使用dist数组,dist[i]表示目前已经找到、v1到vi原创 2016-12-14 17:35:53 · 6199 阅读 · 4 评论 -
图的邻接表表示及深度优先搜索和广度优先搜索 prim求最小生成树
邻接表表示图的基本思想是只存储相关信息,适合存储稀疏图,由表头结点表和边表两部分组成。对图中的每个顶点建立一个带头结点的边链表,每个边链表的头结点又构成一个表头结点表,具体结构如下以下为存储结构typedef char ElemType;//边表结点typedef struct ArcNode{ int adjvex; //该弧指向定点的位置 struct ArcNo原创 2016-12-15 17:11:23 · 2292 阅读 · 0 评论 -
求有向网中任意一对顶点之间的最短路径 Floyd算法
有向网中欲知任意一对顶点之间的最短路径常用Floyd算法,基本思想是任意一对顶点vi与vj,逐步在其中加入一个中间节点v0,..,vk,...vn,若比原路径短则更新最短路径,经过n次比较和修正后,vi到vj的最短路径可以求出。具体代码及相关注释如下//floyd求任意顶点间的最短路径#include#define N 20//最大顶点数#define INF 10000typedef原创 2016-12-15 16:31:02 · 1990 阅读 · 1 评论 -
哈希表的实现 除留余数法
查找有两种方式,比较式查找和计算式查找,而计算式查找则通过哈希表来实现。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数;更通俗来说,哈希表通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这里用除留余数法来构造哈希表和开放地址法中的线性探测再散列来处理不同原创 2017-01-02 11:31:44 · 36832 阅读 · 4 评论 -
基于二叉排序树的基本操作
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根节点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;以下为二叉排序树的实例和结点结构//二叉排序树的结点结构typedef struct Node{ ElemType val; str原创 2016-12-23 16:24:48 · 495 阅读 · 0 评论