使用Java实现的深度优先搜索(DFS)

package test3;import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;//实现的深度优先搜索(DFS)和广度优先搜索(BFS)算法的示例代码
public class Node {int id; //节点的唯一标识boolean visited;//标记节点是否被访问过List<Node> neighbors;//邻接点列表public Node(int id){this.id=id;this.visited=false;this.neighbors=new ArrayList<>();}
}
class DFS{public void dfs(Node node){dfsHelper(node,new HashSet<>());//使用hashSet来记录已访问过的节点}private void dfsHelper(Node node, Set<Node> visited){//标记当前节点为已访问node.visited=true;System.out.print(node.id+"");//处理当前节点的逻辑//遍历当前节点的临节点for(Node neighbor : node.neighbors) {if (!visited.contains(neighbor)) {//如果邻接点未被访问过,则递归访问dfsHelper(neighbor, visited);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锻炼筋骨之力

中国武术注重通过多种训练方法来锻炼筋骨之力&#xff0c;以提升身体的力量、柔韧性和协调性。这些训练方法包括但不限于以下几种&#xff1a; 1. 基本功训练 基本功是所有武术的基础&#xff0c;包括站桩、马步、弓步等&#xff0c;这些训练有助于增强腿部和腰部的力量和稳定性…

Ubuntu-24.04-live-server-amd64启用ssh

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 Ubuntu安装qemu-guest-agent Ubuntu乌班图安装VIM文本编辑器工具 文章目录 系列文章目录前言一、输入安装命令二、使用私钥登录&#xff08;可选&#xff09;1.创建私钥2.生成三个文件说明3.将公钥复制到服务器 三…

面向对象进阶--继承(Java继承(超详解))

目录 1. 继承 1.1 继承概述 1.2 继承特点 1.3练习 1.4继承父类的内容 构造方法是否被子类继承 成员变量是否被子类继承 成员方法是否被子类继承 1.5总结 继承中&#xff1a;成员变量的访问特点 继承中&#xff1a;成员方法的访问特点 方法重写概述 方法重写的本质 …

飞睿智能LR-WIFI无线数据采集模块,6公里视频图传,安防监控、工业传输数据更高效

在数字化浪潮席卷全球的今天&#xff0c;无线数据采集技术已经成为推动社会进步的重要力量。特别是在安防监控和工业领域&#xff0c;高效、稳定的数据传输成为了实现智能化、自动化的关键。飞睿智能LR-WiFi无线数据采集模块不仅具备可靠的传输性能&#xff0c;还能在复杂环境下…

尚硅谷爬虫学习第一天(3) 请求对象定制

#url的组成 #协议 http&#xff0c;https&#xff0c;一个安全&#xff0c;一个不安全。 #主机&#xff0c; 端口号 学过java 的肯定知道 沃日&#xff0c;以前面试运维的时候&#xff0c;问到主机地址&#xff0c;我懵逼了下&#xff0c;回了个8080 # 主机地址 80 # …

GEE(六边形制作)——实现研究去边界蜂窝状(六边形)矢量的转换

简介 在GEE中实现研究区边界蜂窝状矢量的转换,这里我们首先获取研究区边界,然后进行边界坐标点进行获取,然后根据六边形坐标点计算公式,然后遍历研究区即可。 在Google Earth Engine(GEE)中,可以使用以下步骤来制作去边界的六边形矢量: 1. 首先,选择一个区域或图像…

python pandas 读取excel表格

情况说明 py文件和数据已经在同一文件路径中&#xff0c;excel表名为“BloombergESG_ClosePrice.xlsx”&#xff0c;内含两张工作表。第一张工作表名为“ESG_score”&#xff0c;数据较少&#xff1b;第二张工作表名为“all_stock_close&#xff08;1209&#xff09;”&#x…

关于微信小程序(必看)

前言 为规范开发者的用户个人信息处理行为&#xff0c;保障用户的合法权益&#xff0c;自2023年9月15日起&#xff0c;对于涉及处理用户个人信息的小程序开发者&#xff0c;微信要求&#xff0c;仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则…

Datacom HCIE实验考试通过率90%!深圳智汇云校传来5月捷报!

坚持不懈地努力&#xff0c;才能取得成功的果实 这是不变的真理 深圳云校传来5月捷报 在Datacom HCIE实验考试中 共有10名学员应战 其中9名学员凭借出色的表现 一次性通过了考试 展现出了扎实的技术能力 通过率高达90% &#xff08;华为历年考试平均通过率约60%&#…

超级棒的时钟屏保 芝麻时钟颜值高 屏保界的天花板

太酷了&#xff01;这个时钟屏保太有个性了 屏保时钟软件推荐&#xff01;超级棒的时钟屏保 芝麻时钟颜值高 屏保界的天花板&#xff0c;今天小编给大家分享一个非常实用好看的时钟屏保&#xff08;芝麻时钟&#xff09;&#xff0c;从美观、功能、效果、操作方面去评估&#x…

junit mockito Dao层

Dao层单元测试需要启动服务的上下文 业务逻辑需要别名进行MOCK打桩 为了不影响测试结果和对数据库产生脏数据&#xff0c;使用Sql注解来完成相关数据的初始化和清除 Dao public interface BranchDao extends BaseDao<BranchPO, Long> {ModifyingTransactionalQuery(n…

【机器学习】机器学习重要方法——无监督学习:理论、算法与实践

文章目录 引言第一章 无监督学习的基本概念1.1 什么是无监督学习1.2 无监督学习的主要任务 第二章 无监督学习的核心算法2.1 聚类算法2.1.1 K均值聚类2.1.2 层次聚类2.1.3 DBSCAN聚类 2.2 降维算法2.2.1 主成分分析&#xff08;PCA&#xff09;2.2.2 t-SNE 2.3 异常检测算法2.3…

Java new HashMap 指定容量,代码怎么写? 学习源码小记

之前针对 创建map 指定容量&#xff0c;写过一篇吐槽教学文章&#xff1a;HashMap 使用的时候指定容量&#xff1f;你真的用明白了吗&#xff1f;&#xff08;值得一阅&#xff09;_new hashmap<>(4);-CSDN博客 因为我们经常要通过代码做一些数据的分组&#xff0c;比如查…

深入理解网络协议——搞懂协议在系统中的应用

1. 不精确指明的协议软件接口 在多数实现中&#xff0c;TCP/IP协议软件驻留在计算机的操作系统中。因此&#xff0c;只要应用程序使用TCP/IP通信&#xff0c;它就必须与操作系统交互并请求其服务。从程序员的观点看&#xff0c;操作系统所提供的那些例程定义了应用程序和协议软…

重庆地区媒体宣传邀约资源整理

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 重庆地区媒体宣传邀约资源整理 一、主流媒体资源 电视台&#xff1a;重庆电视台&#xff1a;作为重庆地区最具影响力的电视媒体之一&#xff0c;拥有多个频道&#xff0c;涵盖新闻、综艺…

C#面:C#中有没有静态构造函数,如果有是做什么用的?

在C#中是存在静态构造函数的&#xff0c;它被称为静态构造器&#xff08;static constructor&#xff09;。静态构造函数是一种特殊的构造函数&#xff0c;用于初始化静态成员变量或执行一些静态初始化操作。它与普通的实例构造函数不同&#xff0c;静态构造函数没有参数&#…

数据提取的艺术:如何通过数据治理提高效率

数据提取的艺术&#xff1a;如何通过数据治理提高效率 在当今数字化浪潮下&#xff0c;数据已成为企业最重要的资产之一。然而&#xff0c;如何从海量的数据中提取有价值的信息&#xff0c;并将其转化为实际的业务效益&#xff0c;却是一个挑战。数据治理&#xff0c;作为确保…

在 Qt Quick 中的布局:Grid,Row

Grid 在 Qt Quick 中&#xff0c;网格布局可以使用 Grid 元素来实现。Grid 元素允许您以网格形式对子元素进行布局&#xff0c;类似于 HTML 中的表格布局。以下是一个简单的示例&#xff0c;展示如何在 QML 中使用网格布局&#xff1a; import QtQuick 2.0Grid {columns: 3 /…

python-日历库calendar

目录 打印日历 基本日历类Calendar TextCalendar类 HTMLCalendar类 打印日历 设置日历每周开始日期(周几) import calendarcalendar.setfirstweekday(calendar.SUNDAY) # 设置日历中每周以周几为第一天显示 打印某年日历 print(calendar.calendar(2024, w2, l1, c6, m…

flutter实现UDP发送魔法包唤醒主机

魔法包 魔法包是用16进制表示的数据包&#xff0c;它是由固定的前缀数据(FFFFFFFFFFFF)以及固定重复次数(16次)的目标主机MAC地址组成。 假设目标主机的MAC地址是&#xff1a;"50:eb:f6:27:ae:a8" 那么魔法包就是[FFFFFFFFFFFF50EBF627AEA850EBF627AEA850EBF627AEA8…