代码语言
.
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++
】
最小树形图(邻接阵形式)
作者:
天坤
/ 发布于
2016/3/3
/
625
//多源最小树形图,edmonds算法,邻接阵形式,复杂度O(n^3) //返回最小生成树的长度,构造失败返回负值 //传入图的大小n和邻接阵mat,不相邻点边权inf //可更改边权的类型,pre[]返回树的构造,用父结点表示 //传入时pre[]数组清零,用-1标出源点 #include <string.h> #define MAXN 120 #define inf 1000000000 typedef int elem_t; elem_t edmonds(int n,elem_t mat[][MAXN*2],int* pre){ elem_t ret=0; int c[MAXN*2][MAXN*2],l[MAXN*2],p[MAXN*2],m=n,t,i,j,k; for (i=0;i<n;l[i]=i,i++); do{ memset(c,0,sizeof(c)),memset(p,0xff,sizeof(p)); for (t=m,i=0;i<m;c[i][i]=1,i++); for (i=0;i<t;i++) if (l[i]==i&&pre[i]!=-1){ for (j=0;j<m;j++) if (l[j]==j&&i!=j&&mat[j][i]<inf&&(p[i]==-1||mat[j][i]<mat[p[i]][i])) p[i]=j; if ((pre[i]=p[i])==-1) return -1; if (c[i][p[i]]){ for (j=0;j<=m;mat[j][m]=mat[m][j]=inf,j++); for (k=i;l[k]!=m;l[k]=m,k=p[k]) for (j=0;j<m;j++) if (l[j]==j){ if (mat[j][k]-mat[p[k]][k]<mat[j][m]) mat[j][m]=mat[j][k]-mat[p[k]][k]; if (mat[k][j]<mat[m][j]) mat[m][j]=mat[k][j]; } c[m][m]=1,l[m]=m,m++; } for (j=0;j<m;j++) if (c[i][j]) for (k=p[i];k!=-1&&l[k]==k;c[k][j]=1,k=p[k]); } } while (t<m); for (;m-->n;pre[k]=pre[m]) for (i=0;i<m;i++) if (l[i]==m){ for (j=0;j<m;j++) if (pre[j]==m&&mat[i][j]==mat[m][j]) pre[j]=i; if (mat[pre[m]][m]==mat[pre[m]][i]-mat[pre[i]][i]) k=i; } for (i=0;i<n;i++) if (pre[i]!=-1) ret+=mat[pre[i]][i]; return ret; }
试试其它关键字
最小树形图
同语言下
.
C分鱼问题
.
链表
.
最大连续和
.
编码字符串
.
libiconv字符编码处理及判断字符串是否为utf8
.
一组数中两两二元组,差最大有几对,差最小呢?(数组
.
通过管道获取一个进程的执行状态
.
多关键字排序
.
字符串字典序排序
.
3元一次方程(牛顿迭代法求方程的根)
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
天坤
贡献的其它代码
(
11
)
.
iframe自适应高度
.
根据某年某周获取一周的日期
.
判空相关
.
将txt文件内容(以utf-8)存储到数据库中
.
遍历list、set和map集合的方式
.
全局热键设置与窗体热键设置实例
.
HttpOperater-模拟HTTP操作类
.
显示或是删除input域中的默认值
.
Http相关辅助类 HttpUtils
.
最小树形图(邻接阵形式)
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3