`
woxiaoe
  • 浏览: 284559 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

基于java的图的实现(二) 图的两种遍历

    博客分类:
  • Java
阅读更多

图的实现见http://www.iteye.com/topic/645079
今天在在上次开发的Graph类基础上实现了bfs,dfs 和图环的检测

新建了一个GraphUtil类

方法摘要
static
<T> java.util.List<T>
bfs(com.woxiaoe.ds.graph.Graph<T> graph, T v, boolean checkCycle) 
          图的广度优先遍历
static
<T> boolean
checkCycle(com.woxiaoe.ds.graph.Graph<T> graph) 
          测试图是否有环 true 有环 false 无环
static
<T> java.util.List<T>
dfs(com.woxiaoe.ds.graph.Graph<T> graph, T v, boolean checkCycle) 
          深度优先遍历
static
<T> void
dfsHandler(com.woxiaoe.ds.graph.Graph<T> graph, T v, boolean checkCycle, java.util.List vList) 
           
static
<T> java.util.List<T>
visitGraph(com.woxiaoe.ds.graph.Graph<T> graph) 
          图所有节点的遍历

1
1
分享到:
评论

相关推荐

    java中Map的两种遍历方法

    在Java编程语言中,`Map`接口是集合框架的一个重要组成部分,它用于存储键值对。其中,`HashMap`是`Map`接口的一个实现类,...在追求代码可读性和维护性的同时,合理利用这两种遍历策略,可以使程序更加健壮和高效。

    基于Java实现的二叉树的创建以及三种遍历.zip

    首先,我们从“基于Java实现的二叉树的创建”开始。在Java中,二叉树可以通过定义一个类来实现,这个类通常叫做`BinaryTree`或`Node`,代表树中的一个节点。每个节点包含两个属性,分别代表它的左孩子和右孩子,以及...

    JAVA实现图片二值化

    本篇文章将围绕"JAVA实现图片二值化"这一主题展开,探讨如何使用Java语言进行图像的二值化处理。 首先,我们需要了解二值化的原理。在图像处理中,每个像素通常由RGB(红绿蓝)三个通道组成,每个通道的值范围在0到...

    java实现遍历树形菜单两种实现代码分享

    Java实现遍历树形菜单两种实现代码分享 Java实现遍历树形菜单是指在Java编程语言中实现遍历树形菜单的功能,树形菜单是一种常见的用户界面元素,用于展示层次结构的数据。下面将介绍两种实现遍历树形菜单的代码分享...

    java 深度优先遍历、广度优先遍历、最短路径、最小生成树

    本文将深入探讨Java中实现的四个核心图算法:深度优先遍历(DFS)、广度优先遍历(BFS)、最短路径算法以及最小生成树算法。 首先,**深度优先遍历(DFS)**是一种用于遍历或搜索树或图的算法。它从根节点开始,尽...

    基于Java的二叉树层序遍历打印实现.docx

    本篇主要讨论基于Java的二叉树层序遍历的实现,分为三种情况: 1. **基本层序遍历(剑指offer32-Ⅰ)**: 这种遍历方法将二叉树的节点值按层顺序存储到一个一维整数数组`int[] res`中。核心思想是利用队列(这里...

    基于java的图像分割(数字图像处理)

    本项目是基于Java实现的图像分割算法,涉及到的知识点广泛,包括全局阈值分割、Roberts边缘检测以及灰度图像处理和直方图分析。 1. **全局阈值分割**: 全局阈值分割是一种简单的二值化方法,它通过设定一个全局...

    基于Java语言实现的,相似图像识别,基于直方图比较算法

    这个名为"基于Java语言实现的,相似图像识别,基于直方图比较算法"的项目,是利用Java编程语言来构建的图像识别系统,其核心是直方图比较策略,相比指纹算法,它在准确性上有一定的优势。 直方图是描述图像颜色分布...

    Java通过POI读取Excel遍历数据,批量生成word文档

    在IT行业中,尤其是在企业自动化和数据处理领域,Java是一种常用的语言。本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理...

    基于JAVA的搜索GUI程序

    总的来说,这个基于Java的搜索GUI程序项目涵盖了文件系统操作、文本搜索算法、GUI设计与实现、多线程技术、错误处理等多个方面,对于学习和提升Java编程技能,特别是桌面应用开发,具有很高的实践价值。

    Java图像二值化,去白边实现紧包效果

    在图像处理领域,二值化是一种常见的技术,它将图像中的像素点转化为只有两种颜色,通常是黑色和白色,以此来简化图像,突出图像的主要特征。这个过程对于文字识别、图像分割、边缘检测等任务有着重要作用。Java作为...

    用java实现二叉树的创建和遍历.doc

    在Java编程语言中,二叉树是一种非常重要的数据结构,它由节点组成,每个节点包含一个值和两个指向其他节点的引用,分别称为左子节点和右子节点。本篇将详细阐述如何使用Java实现二叉树的创建和遍历。 首先,我们...

    java编写的GUI树的创立和遍历程序

    在这个特定的程序实例中,我们关注的是创建和遍历一个基于GUI的树数据结构。这个程序不仅展示了如何利用Java来构建这样的数据结构,还演示了如何通过图形界面来呈现和操作它。以下是对这个程序涉及的知识点的详细...

    基于Java实现的五子棋

    总的来说,这个基于Java的五子棋项目涵盖了面向对象设计、游戏逻辑实现、用户交互以及简单的AI算法等多个方面的知识点。通过这个项目,开发者可以提升Java编程能力,了解游戏开发流程,并且接触到人工智能的基础应用...

    基于JAVA开发的二叉树课程设计与实现

    在本项目中,“基于JAVA开发的二叉树课程设计与实现”主要涵盖了计算机科学中的数据结构和算法领域,特别是关于二叉树的理论知识、Java编程语言的应用以及软件工程的基本实践。二叉树是一种重要的非线性数据结构,...

    基于Java实现的图的广度优先遍历算法

    【基于Java实现的图的广度优先遍历算法】是一种在图数据结构中搜索节点的算法,它按照从根节点开始,逐层遍历相邻节点的顺序进行。这个过程类似于一层一层地探索树的分支。在Java编程中,通常会借助数据结构如队列来...

Global site tag (gtag.js) - Google Analytics