当前位置: 首页 > news >正文

【图论】图的遍历 - 构建领接表(无向图)

文章目录

  • 例题:受限条件下可到达节点的数目
    • 题目描述
    • 代码与注释
    • 模板抽象

例题:受限条件下可到达节点的数目

题目链接:2368. 受限条件下可到达节点的数目

题目描述

代码与注释

func reachableNodes(n int, edges [][]int, restricted []int) (ans int) {r := make(map[int]bool, len(restricted))for _, v := range restricted {r[v] = true // 把受限的节点设置为 true}g := make([][]int, n)for _, v := range edges { // 建邻接表x, y := v[0], v[1]if r[x] == false && r[y] == false {g[x] = append(g[x], y)g[y] = append(g[y], x)}}var dfs func(int, int)dfs = func(x, father int) { // dfs 邻接表存储的图ans++for _, v := range g[x] {if v != father { // 避免回溯到父节点导致重复遍历dfs(v, x)}}}dfs(0, -1) // 从 0 1 开始return ans
}

模板抽象

建邻接表

for _, v := range edges { // 建邻接表x, y := v[0], v[1]g[x] = append(g[x], y)g[y] = append(g[y], x)
}

通过领接表 dfs 图

var dfs func(int, int)
dfs = func(x, father int) { // dfs 邻接表存储的图for _, v := range g[x] {if v != father { // 避免回溯到父节点导致重复遍历dfs(v, x)}}
}
dfs(0, -1) // 从 0 1 开始

相关文章:

【图论】图的遍历 - 构建领接表(无向图)

文章目录 例题:受限条件下可到达节点的数目题目描述代码与注释模板抽象 例题:受限条件下可到达节点的数目 题目链接:2368. 受限条件下可到达节点的数目 题目描述 代码与注释 func reachableNodes(n int, edges [][]int, restricted []int)…...

Claude 3家族惊艳亮相:AI领域掀起新浪潮,GPT-4面临强劲挑战

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-agd7RSCGMblYxo85 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…...

Linux Watchdog 机制是什么

当涉及到Linux操作系统的稳定性和可靠性时,Linux Watchdog机制是一个至关重要的议题。该机制旨在监控系统状态,确保在出现问题时采取适当的措施以维持系统的正常运行。本文将深入探讨Linux Watchdog机制的工作原理、应用范围以及如何配置和使用该机制来提…...

Linux权限问题

1.用户 Linux系统下分为两种用户 a.超级用户(root) b.普通用户 超级用户的命令提示符是“#”,普通用户的命令提示符是“$” 怎么切换用户呢? 命令 su 用户名 其中切换root可以为su 或者su root-----不用密码 普通用户切换…...

python基础练习题目

1. 根据身高体重,判断人的胖瘦 描述: 通过身高和体重,判断一个人的胖瘦。国际上一般采用BMI体重指数,计算公式为BMI 体重 / 身高2(保留小数点后1位),参考标准如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪…...

视频编码标准H.264/AVC,H.265/HEVC,VP8/VP9,AV1的基本原理、优缺点以及适用场景

视频编码标准是用于压缩数字视频数据的技术规范,以减少存储和传输所需的带宽。以下是关于H.264/AVC、H.265/HEVC、VP8/VP9和AV1这些标准的基本原理、优缺点以及适用场景的简要描述: H.264/AVC (Advanced Video Coding) 基本原理: H.264是一…...

MATLAB2020a安装编译器mingw-64(6.3.0)

MATLAB2020a指定安装mingw-64(6.3.0)版本编译器 记录一下几个要点 mingw-64(6.3.0) 找到对应的mingw-64安装包 设置mingw的bin文件路径到环境变量 变量名:MW_MINGW64_LOC MATLAB设置路径...

Python网络请求高级篇:Requests库的深度运用

在Python网络请求中级篇中,我们了解了如何通过Requests库发送带参数的请求,处理Cookies,使用Session对象,以及设置请求头。在本文中,我们将进一步深入学习Requests库的高级功能,包括处理重定向,…...

AWS认证

AWS新增DEA-C01认证考试知识要点 原创 云计算狂魔 云计算狂魔 2024-03-04 23:58 北京 由于AWS将于3月12日正式启动DEA-C01认证考试,我们整理了相关考试知识要点,请各位考生了解。...

【排序】详解插入排序

一、思想 插入排序是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体步骤如下,将数组下标为0的元素视为已经排序的部分,从1开始遍历数组,在遍历的过程中当前元素从…...

Linux开发板移植rz、sz指令实现串口传输文件

一、开发环境 实现开发板和电脑通过串口来收发互传文件。 开发板:NUC980开发板 环境:Ubuntu 22.04.3 LTS 64-bit lrzsz的源码包:例如 lrzsz-0.12.20.tar.gz,下载地址https://ohse.de/uwe/software/lrzsz.html 二、移植步骤 在开发板上移植…...

Android抓包--不走代理的请求Proxy.NO_PROXY,过代理检测,burpsuite+Postern

网上很多不走代理检测的抓包都是charles + Postern 或 charles + Postern + burpsuite,本文使用burpsuite+Postern。 使用无代理 Proxy.NO_PROXY 访问网络接口原理 在Android开发中,大部分的App的网络请求都是基于charles 和 fiddler 来进行抓包的,对网络客户端使用无代理模…...

SQL教学: MySQL进阶操作详解--探索DML语句的高级用法

欢迎回到我们的SQL-DML语句教学系列。在之前的文章中,我们已经学习了如何使用DDL语句来定义和修改数据库的结构,以及如何使用DML语句进行基本的“增删改查”操作。今天,我们将进一步提升技能,探讨DML语句的高级用法,包…...

JavaScript命名标识符规范,JavaScript的for循环与双重for循环

一个合格的前端需要 戳这里领取完整开源项目:【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 哪些能力? 1、三大基础技能,js、css、html这三项技能是前端工程师能力中的基础,任何框架、工具、库都是基于…...

Qt/自定义控件的封装

新建文件,选择Qt设计师界面类 创建空界面 这是自己控件封装的文件,双击跳转到设计界面进行设计 跳转到其他的ui界面,创建一个widget 右键,选择提升为 在提升的类名称输入刚刚创建的类名,添加后选择提升,勾选…...

【硬件相关】RDMA网络类别及基础介绍

文章目录 一、前言1、RDMA网络协议2、TCP/IP网络协议 二、RDMA类别1、IB2、RoCE3、iWARP 三、RDMA对比1、优缺点说明a、性能b、扩展性c、维护难度 2、总结说明 一、前言 roce-vs-infiniband-vs-tcp-ip RoCE、IB和TCP等网络的基本知识及差异对比 分布式存储常见网络协议有TCP/IP…...

POS 之 ETH质押现状

ETH总质押数量趋势图 质押的ETH总数量,数量越多,网络越安全 ETH质押率 质押的ETH数量占总流通数的比率,对ETH价格有积极的影响 ETH总验证人数 质押的总人数,人数越多,说明社区共识越强,活跃度越高 ETH质押日新增质押 新增质押越多说明人们对ETH价格的很乐…...

Qt之插件

插件结构 #mermaid-svg-HMxjwDgwwRejLSQ5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-icon{fill:#552222;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-text{fill:#552222;stroke:#552222;}#…...

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows

Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…...

Docker的安装跟基础使用一篇文章包会

目录 国内源安装新版本 1、清理环境 2、配置docker yum源 3、安装启动 4、启动Docker服务 5、修改docker数据存放位置 6、配置加速器 现在我们已经完成了docker的安装和初始配置。以下为基本测试使用 自带源安装的版本太低 docker官方源安装的话速度太慢了 所以本篇文…...

SpringBoot 2.7项目里,用Knife4j 4.3.0给API文档换个‘高级脸’(OpenAPI3实战)

SpringBoot 2.7项目里,用Knife4j 4.3.0给API文档换个‘高级脸’(OpenAPI3实战) 当你的SpringBoot项目已经完成了基础的API文档集成,接下来要思考的是如何让这份文档从"能用"变成"好用且好看"。Knife4j作为Swa…...

保姆级教程:在Windows上用Python连接CoppeliaSim远程API(附避坑指南)

从零开始掌握CoppeliaSim与Python的远程控制:Windows环境实战指南 在机器人仿真领域,CoppeliaSim(原V-REP)因其强大的功能和友好的用户界面而广受欢迎。对于希望将Python的灵活性与CoppeliaSim的仿真能力结合的研究者和工程师来说…...

AMD GPU本地AI模型部署终极指南:ollama-for-amd让你的Radeon显卡焕发新生

AMD GPU本地AI模型部署终极指南:ollama-for-amd让你的Radeon显卡焕发新生 【免费下载链接】ollama-for-amd Get up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com/…...

DeepFace实战:用5行代码快速搭建一个本地人脸搜索系统(附完整代码)

DeepFace实战:5行代码构建本地人脸搜索系统的工程化实践 人脸识别技术早已不再是实验室里的黑科技,而是能够快速落地的实用工具。今天我们将用Python生态中最轻量级的DeepFace库,从工程化角度构建一个真正可用的人脸搜索系统。不同于简单的AP…...

NGA论坛优化脚本完整指南:5分钟打造高效浏览体验

NGA论坛优化脚本完整指南:5分钟打造高效浏览体验 【免费下载链接】NGA-BBS-Script NGA论坛增强脚本,给你完全不一样的浏览体验 项目地址: https://gitcode.com/gh_mirrors/ng/NGA-BBS-Script 如果你经常在NGA论坛上冲浪,那么这款NGA论…...

[具身智能-824]:人的大脑,如何实现高实时、多模态联合、发现表象背后的各种规律和层层叠叠的不同层次的语义的?

人脑实现:高实时响应 多模态融合 深挖底层规律 多层级语义解析 完整原理一、先总述核心机制人脑不是串行流水线,是并行分布式神经集群架构依靠分层神经通路 并行同步处理 经验记忆锚定 潜意识预推理,天然完成:毫秒级高实时、…...

基于PSoC 6与BMI160构建嵌入式IMU测试系统:从驱动到上位机全流程

1. 项目概述:从一颗传感器到一个完整的测试系统最近在做一个嵌入式项目,需要用到一款高性能的惯性测量单元(IMU)——博世的BMI160。这颗芯片在消费电子和物联网领域很常见,三轴加速度计加三轴陀螺仪,精度和…...

读研读博,教你3招搞定文献调研

今天就和大家分享几个我踩坑后总结的高效科研技巧,以及一款能帮你省出大半时间的实用工具——MedPeer的Deep Search。相信每个做科研的人都有过类似的经历:为了找一篇相关文献,翻遍了知网、Web of Science,结果翻了几十页还是找不…...

DeepSeek那些官方不会告诉你的隐藏功能,用好3个算你厉害

DeepSeek那些官方不会告诉你的隐藏功能,用好3个算你厉害 DeepSeek上线这么久,你真的把它用透了吗? 今天这期,威少把自己用了一年DeepSeek的经验整理了一下,发现有5个功能,官方没有重点推荐,但用…...

Langchain自定义LLM实战:我把一个简单的Python函数变成了AI模型接口

LangChain自定义LLM实战:从Python函数到智能接口的魔法变形记 在AI应用开发的世界里,大型语言模型(LLM)正以前所未有的速度改变着技术格局。但你是否想过,那些看似神秘的AI接口背后,其实隐藏着一个惊人的简单本质?今天…...