图
文章平均质量分 62
海里奔跑的兔子
学如逆水行舟
展开
-
数据结构--图的应用--最短路径
最短路径两种常见的最短路径问题:一、单源最短路径–用Dijistra迪杰斯特拉)算法二、所有顶点间的最短路径–用Floyd(弗洛伊德)算法Dijistra算法1、初始化:先找出从源点v0到各终点Vk的的直达路径(V0, Vk),即通过一条弧直达的路径。2、选择:从这些路径中找出一条长度最短的路径(V0, U)。3、更新:然后对其余各路径进行适当调整:若在图中存在弧(U, Vk),且(V0, U) + (U, Vk) < (V0, Vk),则以路径(V0, U, Vk)代替(V0, Vk原创 2021-03-11 13:36:07 · 393 阅读 · 0 评论 -
图的应用--Prim算法
图的应用–Prim算法Prim算法是一种基于顶点的贪心算法,从其实顶点出发,每次迭代选择当前可用的最小权值边,然后把边上依附的其他顶点加入最小生成树。prim算法可以称为“加点法”,比较适合稠密图算法思想:设G=(V, E)是一个加权连通图(连通网),T = (U, TE)是G的一棵最小生成树。TE是G上最小生成树边的集合(1)最小生成树T的初始状态为U={u0}(u0∈V),TE={},此时图中只有一个起始顶点,边集为空。***第一步:***生成树初态 U = {V1} V-U =原创 2021-03-10 17:10:17 · 1399 阅读 · 0 评论 -
数据结构--图的遍历
数据结构–图的遍历遍历的定义:从已给的连通图中某一顶点出发,沿着边访问图中所有的顶点,且使每个顶点只被访问一次,就叫做图的遍历,它是图的基本运算。遍历的实质是:找到每个顶点的邻接点的过程。图的特点:图中可能存在回路,且图中的任一顶点都可能与它的顶点想相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点。怎样避免被重复访问?解决思路:设置辅助数组visited[n],用来标记每个被访问过的顶点。初始状态visited[i]为0,顶点被访问,改visited[i]为1,防止被多次访问图常原创 2021-03-10 15:28:42 · 394 阅读 · 0 评论