代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C/C++
】
无向图块(bfs邻接阵形式)
作者:
博文
/ 发布于
2016/3/15
/
577
//无向图的块,dfs邻接阵形式,O(n^2) //每产生一个块调用dummy //传入图的大小n和邻接阵mat,不相邻点边权0 #define MAXN 100 #include <iostream.h> void dummy(int n,int* a){ for (int i=0;i<n;i++) cout<<a[i]<<' '; cout<<endl; } void search(int n,int mat[][MAXN],int* dfn,int* low,int now,int& cnt,int* st,int& sp){ int i,m,a[MAXN]; dfn[st[sp++]=now]=low[now]=++cnt; for (i=0;i<n;i++) if (mat[now][i]){ if (!dfn[i]){ search(n,mat,dfn,low,i,cnt,st,sp); if (low[i]<low[now]) low[now]=low[i]; if (low[i]>=dfn[now]){ for (st[sp]=-1,a[0]=now,m=1;st[sp]!=i;a[m++]=st[--sp]); dummy(m,a); } } else if (dfn[i]<low[now]) low[now]=dfn[i]; } } void block(int n,int mat[][MAXN]){ int i,cnt,dfn[MAXN],low[MAXN],st[MAXN],sp=0; for (i=0;i<n;dfn[i++]=0); for (cnt=i=0;i<n;i++) if (!dfn[i]) search(n,mat,dfn,low,i,cnt,st,sp); }
试试其它关键字
无向图块
同语言下
.
C分鱼问题
.
链表
.
最大连续和
.
编码字符串
.
libiconv字符编码处理及判断字符串是否为utf8
.
一组数中两两二元组,差最大有几对,差最小呢?(数组
.
通过管道获取一个进程的执行状态
.
多关键字排序
.
字符串字典序排序
.
3元一次方程(牛顿迭代法求方程的根)
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
博文
贡献的其它代码
(
10
)
.
查询sqlserver中某个表的定义的sql语句
.
判断手机浏览器
.
TopN算法与排行榜
.
#从HDFS加载数据
.
查询是否连接没有释放引起
.
调用手机本地通讯录查看联系人
.
不在同一时间出现的那个人--反选
.
不同类型的不连续的最小值
.
无向图块(bfs邻接阵形式)
.
复利计算
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3