
数据结构
文章平均质量分 90
若悲浪
这个作者很懒,什么都没留下…
展开
-
【数据结构】图—弗洛伊德(Floyd)算法
前言上文介绍了迪杰斯特拉(Dijkstra)算法,计算网图的某个源点到其余各个顶点的最短路径问题(边权值为非负值),本文介绍另一个求最短路径的算法——弗洛伊德算法,它是计算所有顶点到所有顶点的最短路径,其时间复杂度为O(n3)O(n^3)O(n3),其算法相比Dijkstra算法更加简洁易懂。算法思路在迪杰斯特拉算法中,定义了两个一维数组int D[MAXVEX]和 int P[MAXVEX],D表示源点到其他顶点的最短路径和,P表示对应顶点的最小路径的前驱矩阵。因为弗洛伊德算法中,以所有顶..原创 2022-05-13 09:49:51 · 5133 阅读 · 4 评论 -
【数据结构】图—迪杰斯特拉(Dijkstra)算法
迪杰斯特拉(Dijkstra)算法是一个按路径长度递增的次序产生最短路径的算法。原创 2022-05-11 15:28:38 · 8603 阅读 · 2 评论 -
【数据结构】图—克鲁斯卡尔算法(原理及C程序详解)
克鲁斯卡尔(Kruskal)算法是以边为目标,直接寻找权值最小的边来构建生成树,并在构建中不形成回路。原创 2022-05-07 19:02:23 · 3740 阅读 · 1 评论 -
【数据结构】图—普里姆(Prim)算法(原理和C程序解释)
无向连通图的最小生成树生成算法---普利姆算法解析,实现原理及程序构造详细解析。原创 2022-05-07 11:19:21 · 9540 阅读 · 0 评论 -
【数据结构】栈(顺序存储、链式存储)
栈(stack)是限定仅在表尾插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表。原创 2022-05-05 16:20:13 · 1223 阅读 · 0 评论 -
【数据结构】队列(顺序存储结构、链式存储结构) C语言例程
队列(queue)是只允许在一段进行插入操作,而在另一端进行删除操作的线性表。具有先进先出的特点,允许插入的一段称为队尾,允许删除的一端称为队头。原创 2022-04-29 19:23:36 · 2300 阅读 · 0 评论 -
【数据结构】图的创建与遍历
【数据结构】图的存储方式和遍历方法介绍,以及C语言代码编写例程。存储方式包括邻接矩阵、邻接表、十字链表、邻接多重表、边集数组;遍历方法包括深度优先遍历和广度优先遍历算法。原创 2022-04-29 10:38:54 · 7232 阅读 · 1 评论 -
线性表总结(顺序存储、链表)
目录线性表的顺序存储结构线性表插入线性表删除链表创建链表扫描链表查找结点插入结点删除链表静态链表插入结点删除结点双向链表插入结点删除结点循环链表单循环链表双向循环链表线性表的顺序存储结构线性表插入思路:(1)判断线性表是否已经满员,以及插入的位置是否在线性表范围内。(2)从线性表最后一位开始向后移位,知道要插入的位置。(3)将此位置赋值为要插入的元素。#include <stdio.h>#include <string.h>typedef enum _BOO..原创 2022-04-08 10:15:13 · 2162 阅读 · 0 评论 -
哈夫曼编码(文件编码与解码)
利用哈夫曼(Huffman)编码,对text文件中的英文篇章进行编码,并根据编码表对原码进行译码。原创 2022-04-24 11:00:05 · 7488 阅读 · 11 评论 -
哈夫曼编码
哈夫曼(Huffman)编码原理的介绍以及C程序编写原创 2022-04-21 11:20:39 · 3941 阅读 · 0 评论 -
二叉树创建及其线索化
目录二叉链表二叉树创建二叉树遍历线索二叉树线索二叉树的创建中序遍历线索二叉树二叉树是n( n ⩾\geqslant⩾ 0 )个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两个互不相交的、分别称为根节点的左子树和右子树的二叉树组成。二叉链表因为二叉数每个结点最多只有两个孩子,所以我们可以通过链表的方式表示,链表由一个数据域和两个指针域组成。lchilddatarchild指向左孩子指针数据域指向右孩子指针typedef struct B..原创 2022-04-19 15:12:44 · 601 阅读 · 0 评论 -
KMP模式匹配算法
目录朴素模式匹配KMP模式匹配朴素模式匹配串的模式匹配指的是子串在主串中的定位匹配,例如主串A = “abcdef”,子串B = “cd”,那么子串与主串的第三、四位相同。思路:(1)首先应该让主串的第一位与子串的第一位对比,相等则对比第二位,否则子串向后移一位,子串第一位与主串第二位对比。(2)子串的第一位依次与主串的第1-5位匹配对比。/****************************************\*输入:char Fat[]--主串,char Son[]--子串..原创 2022-04-13 11:05:00 · 1100 阅读 · 0 评论