无向回路的求法
来源:互联网 发布:mac 连接阿里云服务器 编辑:程序博客网 时间:2024/04/28 14:55
这个无向回路的求法是需要传入一个数组,这个数组是跟图形对应的,图形有几个点就是几乘几的数组,对角线上都是0,比如数组第二行第三列的位子上的数就是图形第2个点和第3个点相连就是1,否则就是0.不懂的可以给我留言,这个方法很好用的,效率很高的,我在求ArcGIS网格问题里面用了,相当高效的。
package chu.softanywhere;import java.util.ArrayList;import java.util.List;public class Getroad {private int road[][] = null;private List<int[]> li = new ArrayList<int[]>();public Getroad(int[][] a) {this.x1 = new int[a.length];this.x1[0] = 1;this.road = a;for (int i = 2; i < a.length; i++) {HaMiTonian(1, i);}}private int j;public List<int[]> road() {return this.li;}private int x1[] = null;public boolean bb(int x) {if (x == 1) {return true;} else if (x == 0) {return false;} else {return false;}}private void HaMiTonian(int m, int p) {if (m > p)return;while (true) {NextValue(m);if (x1[m] == 0)return;if (m == p && bb(road[x1[p] - 1][0]))display1();elseHaMiTonian(m + 1, p);}}private void NextValue(int k) {x1[k] = (x1[k] + 1) % (x1.length+1);if (x1[k] == 0)return;if (bb(road[x1[k - 1] - 1][x1[k] - 1])) {for (j = 0; j < k; j++) {if (x1[j] == x1[k])NextValue(k);}return;} else { NextValue(k);}}private void display1() {for (int i = 0; i < 7; i++) {System.out.print(x1[i]);}int[] x2=x1.clone();this.li.add(x2);System.out.println("");}}
- 无向回路的求法
- 无向图欧拉回路求法
- 无向图中欧拉回路的求法 poj1041
- 有向图中欧拉回路的求法
- 无向图欧拉回路的判定
- 有向无回路图的理解
- 无向图欧拉回路
- 无向图回路算法
- 无向图欧拉回路模板
- 无向图的欧拉回路线性时间算法
- 关于无向图判断是否存在回路的方法
- 无向图欧拉回路的判定之hdu1878
- POJ 1041 无向图的欧拉回路
- hdu 1878 无向图的欧拉回路
- 数据结构实验之图论八:欧拉回路 无向图的欧拉回路判断
- 混合图的欧拉回路求法
- 有向图,无向图的欧拉回路和欧拉通路poj 2337
- 判断无向图是否有回路
- “项目破坏者” 手册
- UIButton设置frame没有变化?
- 坚持写博客
- 如何用make menuconfig配置kernel
- 跨iPhone应用程序的方便,模块化的代码共享:静态库和跨项目的引用
- 无向回路的求法
- DWZ 表单提交重定向问题
- 关于原生事件绑定中attachEvent与addEventlistener中兼容性以及attachEvent函数中this指代window问题
- STL容器:map,multimap
- 矩阵论学习笔记六:广义逆矩阵
- Shell编程基础
- PIE使IE支持CSS3圆角盒阴影与渐变渲染
- 关于两个Activity实现页面跳转问题
- AIX几种 IO 类型概念的介绍