图论
针对数据结构中的图论部分汇集的实现的一部分算法
Yozu_Roo
这个作者很懒,什么都没留下…
展开
-
手撕最小生成树——Prim算法
//最小生成树算法——Prim算法/*6 90 1 341 4 120 5 195 4 260 2 462 5 255 3 353 4 382 3 17*/#include <iostream>using namespace std;int ver_num,edge_num;int Graph[100][100];int adjvex[100],lowcost[100];void CreateGraph(){ for(int i=0;i<edge_n原创 2021-04-20 16:10:21 · 132 阅读 · 0 评论 -
手撕两点最短路径Floyd算法
//两点最短路径——Floyd算法/*3 52 0 30 2 110 1 41 0 61 2 2*/ #include <iostream>using namespace std;int Graph[100][100];int dist[100][100];int ver_num,edge_num;void CreateGraph(){ for(int i=0;i<edge_num;i++) { int ver1,ver2,weight; cin&原创 2021-04-20 15:35:42 · 100 阅读 · 0 评论 -
手撕最短路径——Dijkstra算法模板(c++最简单)
最短路径——Dijkstra算法模板#include <iostream>using namespace std;int Graph[100][100];int ver_num,edge_num;int dist[100];void CreateGraph(){ for(int i=0;i<edge_num;i++) { int ver1,ver2,weight; cin>>ver1>>ver2>>weight; Graph原创 2021-04-20 14:56:10 · 246 阅读 · 0 评论 -
2021/4/2 拓扑排序(使用邻接表和vector函数两种算法)
【练习时间】2021/4/2【题目名称】拓扑排序【输入数据】第一行输入边的个数m和点的个数n,后面m行依次输入起点和终点9 61 01 32 02 33 04 24 34 53 5【输出数据】拓扑排序后的各点顺序1 4 2 3 5 0(或1 4 2 3 0 5)【算法分析】方法1 采用邻接表存储//AOV网与拓扑排序/*9 61 01 32 02 33 04 24 34 53 5*/#include <iostream> #inclu原创 2021-04-02 09:57:10 · 194 阅读 · 0 评论 -
2021/3/29 最小生成树——kruskal算法+思路
【练习时间】2021/3/29【题目名称】最小生成树——kruskal算法【思路分析】在所有的边中找到最小的边,判断边上的两点是否位于同一个连通向量判断方法:并查集采用双亲表示法,利用数组存储树;若不是,则连接;否则不连n个点,循环n-1次假设图为这样;则按照Kruskal算法流程如下://最小生成树——kruskal算法 /*在所有的边中找到最小的边,判断边上的两点是否位于同一个连通向量判断方法:并查集采用双亲表示法,利用数组存储树;若不是,则连接;否则不连 n个点,原创 2021-03-29 09:25:51 · 222 阅读 · 1 评论 -
2020/3/27 图论 岛国问题(Prim算法简单易懂版)
【练习时间】2020/3/27【什么是Prim算法?】最小生成树Prim算法理解【题目名称】岛国问题【问题描述】一家互联网服务商(简称PIN)在太平洋上发现了几座新岛屿,其中最大的一个岛(称为主岛)已经连接到Internet,但是其他岛和主岛之间没有光缆连接,所以无法上网。为了让所有岛上的居民都能上网,每个岛和主岛之间都必须有直接或者间接的光缆连接。下图就是这样的一个岛屿,每条实线表示一根光缆,它的长度等于两个岛屿中心位置(路由器位置)的几何距离,图上的数字是该岛上的居民数量。为了节省成本,所有原创 2021-03-27 20:01:08 · 1312 阅读 · 0 评论 -
2021/3/26 Dijkstra最短路径算法(代码量少、未使用类)
本文依据“街区最短路径”这一问题讲解并实现Dijkstra算法(未建立类,代码量较少)参考博文:最短路径问题—Dijkstra算法详解最短路径问题—Dijkstra算法详解算法特点:迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。算法的思路Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点的集合:T,初始时,原点 s原创 2021-03-26 11:00:35 · 165 阅读 · 0 评论