
数据结构
文章平均质量分 76
Lazy_Goat
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小生成树kruskal算法
最小生成树kruskal算法概述算法分析 概述 克鲁斯卡尔(Kruskal)(Kruskal)(Kruskal)算法是求连通网的最小生成树的另一种方法。与普里姆(Prim)(Prim)(Prim)算法不同,它的时间复杂度为O(eloge)O(eloge)O(eloge)(e为网中的边数),所以,适合于求边稀疏的网的最小生成树 。 PrimPrimPrim和KruskalKruskalKruskal,前者更适合顶点较多的时候使用;后者更适合边较少的时候使用; 算法分析 按权值由小到大的顺序排列的编辑是:(各边原创 2021-09-29 20:05:54 · 4494 阅读 · 1 评论 -
最小生成树Prim算法C语言-图解
最小生成树Prim算法算法简介图解 算法简介 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。 图解 https://baike.baidu.com/item/Prim/10242166?fromtitle=Prim%E7%AE%97%E6%B3%95&fromid=10986864&fr=aladdin ...原创 2021-09-29 17:21:24 · 4993 阅读 · 0 评论 -
单源最短路径
单源最短路径单源最短路径问题描述算法分析 单源最短路径问题描述 给定一个带权有向图G=(V,E)G=(V,E)G=(V,E),每条边的权是一个实数叫做权值。另外,还 给定 V中的一个顶点,称为源 。要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径问题。 需要注意的是,DijkstraDijkstraDijkstra算法只能解决正权图问题,而要解决负权图,则需要另外一种办法SPFASPFASPFA算法。 算法分析 最大值记作WWW,顶点个数记作NNN 把顶原创 2021-09-28 16:58:31 · 887 阅读 · 0 评论 -
简单的选择排序
选择排序排序原理算法演示演示代码 排序原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 这是不稳定的排序方法; 时间复杂度最好和最坏都是O(n2)O(n^2)O(n2) 算法演示 初始序列: 第一步; 第二步: 第三步: 最后: 演示代码 #include<iostream> #include<stdlib.h> using namespa原创 2021-09-09 11:43:04 · 105 阅读 · 0 评论 -
分治算法-合并排序
分治算法-合并排序合并排序概念合并排序图解算法分析算法代码实例代码分析 合并排序概念 合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。 合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排序。 合并排序图解 算法分析 算原创 2021-09-04 20:43:16 · 2017 阅读 · 0 评论 -
折半查找/二分查找(C语言)递归/非递归查找
折半查找概述算法要求算法分析1、递归2、非递归二分查找案例1、递归案例2、非递归案例 概述 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 算法要求 必须采用顺序存储结构。 必须按关键字大小有序排列。下面的例子是从小到大排序。 算法分析 1、递归 1.创建并初始化数据 #define MAXSIZE 100 #define KeyType int #define ERROR 0 typ原创 2021-08-31 22:49:45 · 2733 阅读 · 3 评论