graph
happylife1527
这个作者很懒,什么都没留下…
展开
-
最小支撑树树--Prim算法,基于优先队列的Prim算法,Kruskal算法,Boruvka算法,“等价类”UnionFind
最小支撑树树前几节中介绍的算法都是针对无权图的,本节将介绍带权图的最小支撑树(minimum spanning tree)算法。给定一个无向图G,并且它的每条边均权值,则MST是一个包括G的所有顶点及边的子集的图,这个子集保证图是连通的,并且子集中所有边的权值之和为所有子集中最小的。本节中介绍三种算法求解图的最小生成树:Prim算法、Kruskal算法和Boruvka算法。其中Prim算法转载 2012-08-29 22:24:05 · 1775 阅读 · 0 评论 -
无向图基本算法 -- 遍历及最小生成树算法
1. 无向图图的表示2. 无向图遍历算法3. 最小生成树算法4. 代码下载1. 无向图表示下面的代码中使用的无向图的表示方法和有向图中表示相同。如下: 2.无向图遍历算法无向图的遍历算法和有向图是类似,具体可以常见上一篇有向图的介绍。 3. 最小生成树算法 3.1 基本概念 在表示最小生成树之前,首先定义最小生成树。设图G= (V, E),对于其中的每条转载 2012-08-25 17:21:16 · 2032 阅读 · 0 评论 -
A* 算法搜索最短路径
http://blog.csdn.net/cpusoft/article/details/4026921A* 算法求解最短路径 近来不少的朋友问我关于 A* 算法的问题, 目的是写一个搜索最短路径的程序. 这个在鼠标控制精灵运动的游戏中(不算智冠出的那些用鼠标充当键盘方向键的弱智 RPG) 大量使用,尤其是即时战略类的. 但是我个人认为 A* 算法只适合处理静态路径求解,转载 2012-09-06 21:41:24 · 732 阅读 · 0 评论 -
图论之 欧拉图学习笔记
http://www.cnblogs.com/titer1/archive/2011/04/07/2008768.html图论之 欧拉图学习笔记来源 uestc ppt 13.Level 1图解..注释todoLevel 2 代码Level 3 证明要点Level 4各种算法穿插比较 基础篇key图解欧拉图【核心】篇s转载 2012-09-07 22:53:53 · 1806 阅读 · 0 评论 -
图论及其应用-哈密尔顿图(alpha)
http://www.cnblogs.com/titer1/archive/2011/04/12/2014226.html 图论及其应用-哈密尔顿图(alpha) 小结:2010-04。。todo 没有粘贴公式。1重要的概念是 闭包。注意 ppt定义42重点汇总与 闭包定理3其他的2个定理对比:(第一阶级:是不是两个反面)一个是 存在 不相邻的点u ,转载 2012-09-07 22:50:15 · 7614 阅读 · 0 评论 -
有向图(1.基于邻接表的C++实现)
http://www.cnblogs.com/SadGeminids/archive/2011/11/02/2233575.html 最近按BOSS要求做一个有向图,基于邻接表的实现。大部分代码还是参考网上的,然后自己修改了一些细节。参考原帖地址:http://www.cppblog.com/saha/articles/121696.html 先说优缺点吧:优点是基本功能都转载 2012-09-20 20:05:47 · 659 阅读 · 0 评论 -
有向图(2.图的基础知识及效率分析)
http://www.cnblogs.com/SadGeminids/archive/2011/11/09/2243544.html开始是一些关于图的基础知识,后面一部分是对于上一贴有向图基于邻接表的C++实现效率的分析。 有向图: 在数学上,一个图(Graph)是表示物件与物件之间的关系的方法,是图论的基本研究对象。一个图看转载 2012-09-20 20:08:46 · 1199 阅读 · 0 评论 -
最短路径系列【最短路径、哈密顿路等】
http://www.cnblogs.com/zhexue/archive/2011/12/27/2303859.html本文转载本人独立博客:http://zhexue.sinaapp.com/?p=13最短路径问题,一个经典算法问题。本文粗略总结了一种常见的最短路径算法,以及几个最短路径变种问题的解法,其中包括哈密顿路。对于有向图或者无向图,假设有V个节点,E条边,G[Vi,Vj]表示转载 2012-09-20 20:00:11 · 5560 阅读 · 4 评论 -
bellman ford算法
http://www.cnblogs.com/mengxm-lincf/archive/2012/02/10/2344764.html 相关文章:1.Dijkstra算法:http://www.wutianqi.com/?p=18902.Floyd算法:http://www.wutianqi.com/?p=1903Dijkstra算法是处理单源最转载 2012-09-20 20:01:52 · 414 阅读 · 0 评论 -
Floyd算法
http://www.cnblogs.com/twjcnblog/archive/2011/09/07/2170306.htmlFloyd算法正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外转载 2012-09-20 20:04:54 · 364 阅读 · 0 评论 -
图论算法小结
http://www.cnblogs.com/w0w0/archive/2012/05/23/2514226.html图论算法小结 一、图搜索算法1.广度优先搜索 给定图G和特定的原点s,BFS系统的搜索G中的边,以期发现可以从s出发到达的所有顶点,并计算所有这些可达顶点之间的距离。该算法同事还能生成一颗根为s、且包括所有s可达顶点的广度优先树。对s可转载 2012-09-21 22:11:54 · 346 阅读 · 0 评论 -
有向图(4.dijkstra算法详解)
http://www.cnblogs.com/sadgeminids/archive/2011/12/29/2306719.html在图的应用中,有一个很重要的需求:我们需要知道从某一个点开始,到其他所有点的最短路径。 这其中,Dijkstra算法是典型的最短路径算法。它的关键思想是以起始点为中心,向外一层层扩散,直到扩展到终点为止。Dijkstra算法能够得出最短路径的转载 2012-09-23 14:12:52 · 1715 阅读 · 0 评论 -
[图论]综述
摘自 http://zh.wikipedia.org/wiki/%E5%9B%BE%E8%AE%BA图论是数学的一个分支,它以图为研究对象,研究节点和边组成的图形的数学理论和方法。图论中的图是由若干给定的点及连接两点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的边表示相应两个事物间具有这种关系。图论起源于著名的柯尼斯堡七桥问题。图论的研转载 2012-08-25 13:51:25 · 948 阅读 · 0 评论 -
图的深度优先搜索/Depth-first search/C++
图是一种常见的数据结构,深度优先和广度优先搜索都是常用的算法,这篇博文先介绍深度优先搜索。和往常一样的,我会用朴实的语言来介绍它,所以只要认真看一定能理解。开始会先介绍下图的表示方法,如果已经掌握了大可跳过。图的表示要表示一个图G(V,E)有两种常见的表示方法,邻接矩阵和邻接表。这两种方法可用于有向图和无向图。对于稀疏图,常用邻接表表示,它占用的空间|E|要小于|V|*|V|。转载 2012-09-05 15:29:28 · 609 阅读 · 0 评论 -
最短路径算法--Dijkstra算法,Bellmanford算法,Floyd算法,Johnson算法
最短路径算法在交通地图上,两地点之间的路径通常标有长度,我们可以用加权有向来描述地图上的交通网。加权有向图中每条路径都有一个路径权值,大小为该路径上所有边的权值之和。本节将重点讨论顶点之间最短路径问题。在实际问题中,路径权值还可以表示其它类型的开销,例如两地之间行程所需要的时间;两任务切换所需代价等。本节讨论的最短路径具有方向性,问题用图的术语描述为:给定一个起始顶点s和一个结束顶点t,在转载 2012-08-29 22:22:15 · 12776 阅读 · 0 评论 -
网络流算法--Ford-Fulkerson方法及其多种实现
网络流在上一章中我们讨论的主题是图中顶点之间的最短路径,例如公路地图上两地点之间的最短路径,所以我们将公路地图抽象为有向带权图。本章我们将对基于有向带权图的模型做进一步扩展。很多系统中涉及流量问题,例如公路系统中车流量,网络中的数据信息流,供油管道的油流量等。我们可以将有向图进一步理解为“流网络”(flow network),并利用这样的抽象模型求解有关流量的问题。转载 2012-08-29 22:18:41 · 861 阅读 · 0 评论 -
图的深度优先和广度优先搜索
图的广度优先搜索http://www.cnblogs.com/luweiseu/archive/2012/07/14/2591331.html图的的搜索算法主要分为广度优先搜索(breadth-first search或BFS)和深度优先搜索(depth-first search或DFS)。首先讨论广度优先搜索算法。称之为广度优先,是因为算法始终首先发现距离起始顶点较近的顶点,然后才发转载 2012-08-29 22:25:32 · 702 阅读 · 0 评论 -
拓扑排序专题
拓扑排序一.定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序(Topological Sort),是将G中所有顶点排成一个线性序列,使得对图中任意一对顶点u和v,若<u,v>∈E(G),则u在线性序列中出现在v之前。通常将这样的线性序列称为满足拓扑次序(Topolgical Order)的序列,简称拓扑序列。二.算法1.无前趋的顶点优先:转载 2012-08-29 22:06:27 · 1605 阅读 · 0 评论 -
图
本章开始介绍图数据结构和相关的算法。一个图有两个部分组成,跟前面介绍的树结构一样,一部分是节点,在图的术语中也称为顶点(vertex),我们将统一称之为顶点;另一部分是顶点的链接,称为边(edge)。顶点和边之间有着紧密的联系,通常图的任意一对顶点之间都允许有一条边。前几章介绍的链表和树都可以看作是结构首先的图,从这个意义上讲,图是最基本的数据结构。图结构本广泛应用与实际问题的描述和求解,以下转载 2012-08-28 12:39:14 · 759 阅读 · 0 评论 -
单次扫描完成二值图连通区域标记
连通区域标记算法 二值图像的连通区域标记过程:从仅由”1”像素(前景点)和”0”像素(背景点)组成的一幅点阵图像中,将相互邻接的”1”值像素组合成区域,并用边界信息来描述每个连通区域。传统的连通区域标记方法通常要对二值图像执行两次扫描。第一次扫描通过逐行逐列扫描像素。判断像素之间的相邻关系,对属于同一连通区域的像素赋予相同的连通标号,实现连通标识。这种逐行逐列转载 2012-08-30 22:32:06 · 898 阅读 · 0 评论 -
拓扑排序
拓扑排序在许多应用中,有向无回路图可用于抽象具有发生先后顺序的事件,图的搜索算法可以用于解决具有先决条件的问题。假设我们要安排一系列任务,但是只有在某个任务的先决条件具备时才能着手完成这个任务。我们希望以某种先后顺序组织这些任务,以便每项任务都是在先决条件已完成的前提下逐个完成。因为任务之间存在先决条件限制,也就是顶点之间存在方向性,所以这一类问题可以用有向无环图(DAG)来描述。如图给出转载 2012-08-30 22:31:20 · 381 阅读 · 0 评论 -
最小树形图(朱-刘算法)
定义:一个有点图,存在从某个点开始的到达所有的的一个最小生成树,则它就是最小树形图。从早晨到现在一直在翻资料,终于理解了一点。朱-刘算法的大概过程如下:1、找到除了root以为其他点的权值最小的入边。用In[i]记录2、如果出现除了root以为存在其他孤立的点,则不存在最小树形图。3、找到图中所有的环,并对环进行缩点,重新编号。4、更新其他点到环上的点的距离,如:环中的点有转载 2012-08-31 23:10:49 · 2952 阅读 · 0 评论 -
强连通分支算法--Tarjan算法和Gabow算法
Tarjan算法Kosaraju算法的流程简单,但是需要对图(和逆图)进行两次DFS搜索,而且读逆图的DFS搜索中顶点的访问顺序有特定的限制。下面将介绍的两个算法的过程比Kosaraju算法更为简洁,只需要执行一次DFS,并且不需要计算逆图。Tarjan基于递归实现的深度优先搜索,在搜索过程中将顶点不断压入堆栈中,并在回溯时判断堆栈中顶点是否在同一联通分支。函数借助两个辅助数组pre和lo转载 2012-09-03 22:13:48 · 936 阅读 · 0 评论 -
A*搜索算法
经典算法研究系列:一、A*搜索算法作者:July、二零一一年一月----------------------------------博主说明:1、本经典算法研究系列,此系列文章写的不够好之处,还望见谅。2、本经典算法研究系列,系我参考资料,一篇一篇原创所作,转载必须注明作者本人July及出处。3、本经典算法研究系列,精益求精,不断优化,永久更新,永久勘误。欢转载 2012-09-03 22:26:20 · 545 阅读 · 0 评论 -
BFS和DFS优先搜索算法
4、教你通透彻底理解:BFS和DFS优先搜索算法 作者:July 二零一一年一月一日---------------------------------本人参考:算法导论 本人声明:个人原创,转载请注明出处。ok,开始。翻遍网上,关于此类BFS和DFS算法的文章,很多。但,都说不出个所以然来。读完此文,我想,你对图的广度优先搜索和深度优先搜索定会有个通通透转载 2012-09-03 22:28:43 · 713 阅读 · 0 评论 -
Dijkstra 算法
Dijkstra 算法经典算法研究系列:二、Dijkstra 算法初探 July 二零一一年一月======================本文主要参考:算法导论 第二版、维基百科。写的不好之处,还望见谅。本经典算法研究系列文章,永久勘误,永久更新、永久维护。 July、二零一一年二月十日更新。-----------------------转载 2012-09-03 22:27:16 · 1010 阅读 · 0 评论 -
有向图基本算法 -- 遍历算法
1. 图的表示2. 有向图的遍历算法:深度优先3. 有向图的遍历算法:广度优先4 代码反思5. 下载 1. 图的表示 1.1 图的定义图G定义为V和E的集合G={V, E},其中V表示图中的所有的顶点集合,E表示的是G中的所有的边的集合。图按照E中的元素是否有方向,分为有向图和无向图。 1.2 图的表示方法上面给出的数学上图的定义,那么在计算机中如何表示图?通转载 2012-08-25 17:22:37 · 892 阅读 · 0 评论 -
强连通分支算法--Kosaraju算法
强连通分支算法本节内容将详细讨论有向图的强连通分支算法(strongly connected component),该算法是图深度优先搜索算法的另一重要应用。强分支算法可以将一个大图分解成多个连通分支,某些有向图算法可以分别在各个联通分支上独立运行,最后再根据分支之间的关系将所有的解组合起来。在无向图中,如果顶点s到t有一条路径,则可以知道从t到s也有一条路径;在有向无环图中个,如果顶点s转载 2012-09-03 22:14:05 · 978 阅读 · 0 评论 -
POJ图论分类
POJ图论分类2009-07-28 23:13POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?con转载 2012-08-25 13:35:32 · 777 阅读 · 0 评论 -
Bellman-Ford(贝尔曼-福特)算法分析与实现(C/C++)
http://www.cnblogs.com/tanky_woo/archive/2011/01/17/1937728.html 相关文章:1.Dijkstra算法:http://www.wutianqi.com/?p=18902.Floyd算法:http://www.wutianqi.com/?p=1903Dijkstra算法是处理单源最短路径转载 2012-09-22 09:38:26 · 670 阅读 · 0 评论