图论学习-序列是否可图化(2)
来源:互联网 发布:破获特大网络售假药案 编辑:程序博客网 时间:2024/05/12 06:56
上次学习了havel-hakimi定理判断一个度数序列是否可图,http://blog.csdn.net/wangyanphp/article/details/8834608
(Havel-Hakimi 定理)
s1: d2 – 1, d3 – 1, …, dd1+1 – 1, dd1+2, …, dn
是可图的。序列s1 中有n-1 个非负整数,s 序列中d1 后的前d1 个度数(即d2~dd1+1)减1 后构成
s1 中的前d1 个数
为什么要求是非增序列呢?这样的话,每次都得排序。然后写了一个方法,不用排序,不知道对不对,希望读者指教。
//参数是:序列元素数,序列(度数),返还矩阵bool Graphic(int nVertex, int* degree ,int** Edge){/*序列中的非零数,代表的是除去主元元素还剩多少非零元素,例如 4,3,1,5,4,2,1,第一次是除去4之后的非零元素,第二次是除去3之后的非零元素*/int nNonzeroVertex=nVertex;for(int i=0;i<nVertex;++i){if(degree[i]==0)//如果元素为零则跳过,不以此元素作为主元continue;//非零元素除去这个的主元,代表剩余非零元素--nNonzeroVertex;if(degree[i]>nNonzeroVertex)return false;for(int j=1;j<=degree[i];++j){if(degree[i+j]==0){degree[i]++;//此处的degree[i]不是代表i的度数,而是后面有的哪几个元素需要减continue;}//如果某一非零元素度为1,那么减去1之后,将会变为0,所以非零元素减1if(degree[i+j]==1)--nNonzeroVertex;--degree[i+j];Edge[i][i+j]=Edge[i+j][i]=1;}}return true;}
- 图论学习-序列是否可图化(2)
- 图论学习---序列是否可图?
- Havel-Hakimi定理(判断是否可图序列)
- zoj3732(度序列判断是否可图且是否唯一)
- UML学习-------序列图(1)绘制 序列图
- 边看边写(判断一个序列是否为出栈序列)
- UML学习(三)-----序列图
- UML学习(三)-----序列图
- UML学习(三)-----序列图
- 图结构练习——判断给定图是否存在合法拓扑序列(topo)
- [poj 1659 ]Frogs\' Neighborhood(Havel-Hakimi定理(判断一个序列是否可图))
- poj 1659 Frogs' Neighborhood(Havel定理求度序列是否成图)
- (图论)使用Havel-Hakimi定理判断给出的序列是否可图
- 图- 拓扑序列- 判断图中是否有环
- havel 定理 判断非负序列 是否可以图化
- Havel-Hakimi定理(判断一个序列是否可图)
- 利用拓扑序列判断图中是否有环原理
- Havel-Hakimi定理(判断一个序列是否可图)
- UIScrollView的属性总结
- orace 命令
- git blame
- 最原始网站回归网络
- Iphone应用开发之五: UIScrollView的详细讲解
- 图论学习-序列是否可图化(2)
- 用mask掩码处理图片,Mat::copyTo函数第一个用于输出的传入参数不能是原图片
- C++一些注意点之字符串与指针
- C++类构造和析构时代码的执行顺序
- 流程图简介
- c++ 操纵符
- WorldWideWeb浏览器
- 【NLP基础】基于LDA的Topic Model变形
- 7年一回首,流年似水