图像处理中一般使用稠密方法,即对图像进行像素集合进行处理。在图像拓扑方面,更多地应用图计算方法。

寻找无向图联通子集的JAVA版本,代码:

	//查找无向图的所有连通子集//wishchin!!!
public static ArrayList<Set<Integer>> findAllCons(Boolean adjM[][]) {
ArrayList<Set<Integer>> conSets = new ArrayList<Set<Integer>>(); Stack<Integer> tree = new Stack<Integer>();
Boolean[] isTra = new Boolean[adjM.length];
for (int i = 0; i < adjM.length; ++i) {
isTra[i] = (false);
} // 遍历每一行
for (int i = 0; i < adjM.length;) {
if (isTra[i] == true) {
++i;
continue;
}
tree.push(i);
Set<Integer> sub = new HashSet<Integer>();
sub.add(i);
int j = tree.peek();
while (!tree.isEmpty() && isTra[j] == false) {
j = tree.pop();// 取出栈顶i
isTra[j] = true; // 遍历每一个列
for (int k = 0; k < adjM[j].length; ++k) {
if (false == isTra[k]) {
if (adjM[j][k] == true && isTra[k] == false) {
tree.push(k);// 若K没有被遍历过,则压入栈
sub.add(k);
}
}
}
j = tree.peek();
}
++i;
conSets.add(sub);
}
return conSets;
}

注意事项:

在java中Set类是一个抽象类,不能直接实例化,必须实例化Set的一个子类,比如HashSet。

图方法:寻找无向图联通子集的JAVA版本的更多相关文章

  1. 数据结构——图的深度优先遍历(邻接矩阵表示+java版本)

    ​1.深度优先遍历(DFS) 图的深度优先遍历本质上是一棵树的前序遍历(即先遍历自身,然后遍历其左子树,再遍历右子树),总之图的深度优先遍历是一个递归的过程. 如下图所示,左图是一个图,右图是图的深度 ...

  2. [超级懒人最简单法]iPhone 6 plus 适配切图方法分享(转载文章)

    网络上已经有很多适配教程,可是看了半天总是半懂不懂..最后还是要综合多个教程再动动脑子动动手,最好有程序大哥帮你试一下(这得有多大的福气) 如果有跟我一样情况的: 1.       有人说用sketc ...

  3. java泛型编译时被擦除引起多态的破坏,用 桥方法解决此类问题。(java 桥方法)

    在JVM虚拟机中泛型编译的时候,会出现类型擦除.但是,在多态场景中,编译时,擦除方式会出现多态被破坏的可能. 举个栗子: A.java public class A<T> { void g ...

  4. JAVA本地方法详解,什么是JAVA本地方法?

    一. 什么是Native Method   简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非j ...

  5. 关于2-sat的建图方法及解决方案

    转载增减: https://blog.csdn.net/qq_24451605/article/details/47126143 https://blog.csdn.net/u012915516/ar ...

  6. 两种ps切图方法(图层/切片)

    两种Ps切图方法 一.      基础操作: a)    Ctrl++ 放大图片,ctrl - -缩小图片 b)    按住空格键space+,点击鼠标左键,拖动图片. c)    修改单位,点击编辑 ...

  7. 第144天:PS切图方法总结

    一.切图方法分类 PhotoShop从CS版本演变到现在的CC版本,切图功能发生了比较大的变化,我们可以把PhotoShop CS版本时的切图功能称为传统切图,而从PhotoShop CC版本开始PS ...

  8. 静态导入方法即自动拆装箱(java)

    package example6;import static java.lang.System.out;import static java.util.Arrays.sort;import java. ...

  9. 用launchscreen.storyboard适配启动图方法(二)

    背景 之前有写一篇实现方式比较简单的随笔用launchscreen.storyboard适配启动图方法,顺便在评论区提了一下用autolayout适配启动图的思路,现把思路和流程记录下来. 思路 整体 ...

随机推荐

  1. JavaSE 学习笔记之内部类(九)

    内部类:如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象.这时,为了方便设计和访问,直接将A类定义在B类中.就可以了.A类就称为内部类.内部类可以直接访问外部类中的成员.而外部类想要访问内 ...

  2. springCloud学习-服务的注册与发现(Eureka)

    1.小记 这段时间有空,把springcloud的知识整理一下,好记性不如烂笔头,也让自己对springcloud有个清晰的认识.此次的整理记录主要借鉴了这位大佬的博客 https://blog.cs ...

  3. 【ACM】hdu_2004_成绩转换_201307261516

    成绩转换Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  4. Spring MVC-集成(Integration)-生成PDF示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_pdf.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显示如何 ...

  5. 最简单的基于FFmpeg的移动端样例:Windows Phone HelloWorld

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  6. Oracle推断值为非数字

    select * from product_info t where t.contract_detailid is not null and length(translate(t.contract_d ...

  7. 《Java课程实习》日志(周二)

    import java.awt.EventQueue; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.sw ...

  8. gitserver提交代码的总结

    将更新的代码提交到gitserver上所须要的步骤: 1.git pull 更新代码到最新 2,git add 文件名称 加入要提交的文件 3,git commit  -m  "关于改动的内 ...

  9. ASP原码加密工具介绍

    ASP原码加密工具介绍 总是会有非常多方法暴露ASP的原程序.造成数据库的password 路径都能够轻易被其它人搞到,所以对ASP程序实行加密处理是个不错的解决方法.以下来介绍一个工具假设大家感兴趣 ...

  10. 《黑马程序猿》 cocos2d游戏引擎复习笔记一

    /** ----------------------------游戏场景的搭建-------------------------------- 1首先创建一个surfaceview ,它能够在子线程中 ...