有向图邻接矩阵和关联矩阵转换

%% 无向图邻接矩阵和关联矩阵转换
function w = incandadf(F,f)
%F为输入无向图矩阵可以是邻接矩阵或关联矩阵
%% 邻接矩阵转关联矩阵
if f == 0
m = sum(sum(F))/2;
n = size(F,1);
w = zeros(n,m);
k = 1;
for i = 1:n
for j =1 : n
if F(i,j) ~= 0
w(i,k) = 1;
w(j,k) = -1;
k = k + 1;
end
end
end
%% 关联矩阵 阵转邻接矩
else if f == 1
m = size(F,2);
n = size(F,1);
w = zeros(n,n);
for i = 1 : m
a = find(F(:,i) ~= 0);
if F(a(1),i) == 1
w(a(1),a(2)) = 1;
else
w(a(2),a(1)) = 1;
end
end
else
printf(‘Please right f‘);
end
w
end

时间: 2024-10-29 19:06:50

有向图邻接矩阵和关联矩阵转换的相关文章

无向图邻接矩阵和关联矩阵转换

%% 无向图邻接矩阵和关联矩阵转换function w = incandadf(F,f)%F为输入无向图矩阵可以是邻接矩阵或关联矩阵%% 邻接矩阵转关联矩阵if f == 0 m = sum(sum(F))/2; n = size(F,1); w = zeros(n,m); k = 1; for i = 1:n for j =1 : n if F(i,j) ~= 0 w(i,k) = 1; w(j,k) = 1; k = k + 1; end end end%% 关联矩阵 阵转邻接矩else i

Luogu 3758 [TJOI2017]可乐(有向图邻接矩阵幂的意义 矩阵快速幂)

题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机触发一种行为.现 在给加里敦星球城市图,在第0秒时可乐机器人在1号城市,问经过了t秒,可乐机器人的行为方案数是多少? 输入输出格式 输入格式: 第一行输入两个正整数况N,M,N表示城市个数,M表示道路个数.(1 <= N <=30,0 < M < 100) 接下来M行输入u,v,表示u

算法与数据结构基础9:C++实现有向图邻接矩阵存储

邻接矩阵的存储比邻接表实现起来更加方便,也更加容易理解. 邻接矩阵就是用一个二维数组matrix来存储每两个点的关系.如果两个点m,n之间有边,将数组matrix[]m[m]设为1,否则设为0. 如果有权,则将matrix[m]n[]设为权值,定义一个很大或者很小的数(只要不跟权值冲突即可),表示不相连. 空间复杂度为O(V^2),适合比较稠密的图. 邻接表O(V+E),适合比较稀疏的图. //GraphMatrix.h #include <iostream> #include <cst

poj 2778 AC自动机构建有向图 + 邻接矩阵快速幂

Problem: 给你m个病毒串,求指定长度n且不含病毒串作为子串的字符串一共有多少种. Analyse: 用AC自动机构建L个状态节点,每个节点的end标记记录是否在这里形成病毒串. 这里有个核心就是,如果当前后缀的子后缀(也就是它的fail指针指向的地方)是病毒串的话, 那么它就是病毒串. 然后根据这个AC自动机的L个节点来建立有向图的邻接矩阵B,B[i][j]代表从i到j状态的路径数量. B[0][j]代表的是从初始状态,还没有任何字符的时候转移到j状态,因为根节点0就是没有任何限制. 然

封装 有向图(邻接矩阵) 遍历,删除,插入等

上图: 上码: 1 #include <iostream> 2 #include <queue> 3 using namespace std; 4 const int MAXSIZE = 10; //最大顶点数 5 6 template<class T> 7 class MGraph 8 { 9 public: 10 MGraph(){} 11 MGraph(T a[], int n, int e); 12 ~MGraph(){} 13 T GetVex(int i);

20162305 2017-2018-1 《程序设计与数据结构》第11周学习总结

20162305 2017-2018-1 <程序设计与数据结构>第11周学习总结 教材学习内容总结 哈希算法:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值.哈希值是一段数据唯一且极其紧凑的数值表示形式.如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值.要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性.一般用于快速查找和加密算法. 哈希函数:哈希函数(英语:Hash Function

图的深度遍历和广度遍历

概述 图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次.图的遍历操作和树的遍历操作功能相似.图的遍历是图的一种基本操作,图的其它算法如求解图的连通性问题,拓扑排序,求关键路径等都是建立在遍历算法的基础之上. 由于图结构本身的复杂性,所以图的遍历操作也较复杂,主要表现在以下四个方面:① 在图结构中,没有一个“自然”的首结点,图中任意一个顶点都可作为第一个被访问的结点.② 在非连通图中,从一个顶点出发,只能够访问它所在的连通分量上的所有顶点,因此,还需考虑如何选取下一个出发点以

图的遍历 - 数据结构

图的遍历 - 数据结构 概述 图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次.图的遍历操作和树的遍历操作功能相似.图的遍历是图的一种基本操作,图的其它算法如求解图的连通性问题,拓扑排序,求关键路径等都是建立在遍历算法的基础之上. 由于图结构本身的复杂性,所以图的遍历操作也较复杂,主要表现在以下四个方面:① 在图结构中,没有一个“自然”的首结点,图中任意一个顶点都可作为第一个被访问的结点.② 在非连通图中,从一个顶点出发,只能够访问它所在的连通分量上的所有顶点,因此,还需考

[Locked] Alien Dictionary

Alien Dictionary There is a new alien language which uses the latin alphabet. However, the order among letters are unknown to you. You receive a list of words from the dictionary, where words are sorted lexicographically by the rules of this new lang