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

Java版-图论-拓扑排序与有向无环图

拓扑排序

拓扑排序说明

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。

拓扑排序流程

  1. 从图中选择一个入度为零的点。
  2. 输出该顶点,从图中删除此顶点及其所有的出边。

重复上面两步,直到所有顶点都输出,拓扑排序完成,或者图中不存在入度为零的点,此时说明图是有环图,拓扑排序无法完成,陷入死锁。

在这里插入图片描述

拓扑排序代码

 public static<

相关文章:

Java版-图论-拓扑排序与有向无环图

拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…...

GTC2024 回顾 | 优阅达携手 HubSpot 亮相上海,赋能企业数字营销与全球业务增长

从初创企业入门到成长型企业拓展&#xff0c;再到 AI 驱动智能化运营&#xff0c;HubSpot 为企业的每步成长提供了全方位支持。 2024 年 11 月下旬&#xff0c;备受瞩目的 GTC2024 全球流量大会&#xff08;上海&#xff09;成功举办。本次大会汇聚了全国内多家跨境出海领域企业…...

eclipse启动的时候,之前一切很正常,但突然报Reason: Failed to determine a suitable driver class的解决

1、之前项目都是启动正常的&#xff0c;然后运行以后发现启动不了了&#xff0c;还会报错&#xff1a; 2、这个Reason: Failed to determine a suitable driver class&#xff0c;说是没有合适的驱动class spring:datasource:url: jdbc:sqlserver://192.168.1.101:1433;databa…...

_tkinter.TclError: can‘t find package tkdnd Unable to load tkdnd library.解决办法

Traceback (most recent call last): File “tkinterdnd2\TkinterDnD.py”, line 55, in _require _tkinter.TclError: can’t find package tkdnd During handling of the above exception, another exception occurred: Traceback (most recent call last): File “1.导入总表…...

VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…...

folly库Conv类型转换源码解析

1,普通类型转换 例子1: bool boolV = true;EXPECT_EQ(to<bool>(boolV), true);int intV = 42;EXPECT_EQ(to<int>(intV), 42);float floatV = 4.2f;EXPECT_EQ(to<float>(floatV), 4.2f);double doubleV = 0.42;EXPECT_EQ(to<double>(doubleV), 0.42)…...

UE4 骨骼网格体合并及规范

实现代码 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "SkeletalMeshMerge.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "AceMeshCom…...

Java版企业电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…...

通过源码⼀步⼀步分析 ArrayList 扩容机制

ArrayList 是 Java 中常用的集合类&#xff0c;它底层实现是基于数组的。为了处理元素的动态增加&#xff0c;ArrayList 会在容量不足时进行扩容。以下是通过源码逐步分析 ArrayList 扩容机制的过程。 1. ArrayList 类的基本结构 ArrayList 继承自 AbstractList&#xff0c;实…...

源码分析之Openlayers中默认Controls控件渲染原理

概述 Openlayers 中默认的三类控件是Zoom、Rotate和Attribution 源码分析 defaults方法 Openlayers 默认控件的集成封装在defaults方法中&#xff0c;该方法会返回一个Collection的实例&#xff0c;Collection是一个基于数组封装了一些方法&#xff0c;主要涉及到数组项的添…...

中间件的分类与实践:从消息到缓存

目录 一. 中间件的基本概念 二. 中间件的主要类型 &#xff08;1&#xff09;消息中间件&#xff08;Message-Oriented Middleware, MOM&#xff09;&#xff1a; &#xff08;2&#xff09;数据库中间件&#xff1a; &#xff08;3&#xff09;Web中间件&#xff1a; &a…...

京东e卡 h5st 4.96

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…...

《CSS 知识点》滚动条仅在 hover 时才显示(宽度不改变)

很简单&#xff01; 滚动条的滑动小方块背景色默认透明&#xff0c;仅在hover时设置背景色&#xff1b; 滚动条的轨道背景色默认透明&#xff0c;仅在hover时设置背景色&#xff1b; /*滚动条的滑动小方块*/ ::-webkit-scrollbar-thumb {background: transparent; } /*hover…...

手里有病理切片+单细胞测序的数据,如何开展医工交叉的研究?

小罗碎碎念 这一期推文研究一个问题&#xff1a;病理如何与单细胞结合&#xff1f; 病理与单细胞的结合&#xff0c;时常出现在今年的各大顶刊中。 关于这一领域的研究&#xff0c;其实19年就开始了。我把部分低质量的文献做了剔除&#xff0c;但是也基本能反应这一领域的受关注…...

力矩扭矩传感器介绍

在机械臂&#xff08;机器人臂&#xff09;末端使用的力矩扭矩传感器主要用于测量机械臂末端执行器&#xff08;例如机械手爪、抓取装置等&#xff09;所受的扭矩和力。这些传感器对机械臂的控制系统至关重要&#xff0c;能够提供精确的力反馈信息&#xff0c;帮助实现更高效、…...

【Appium】AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘

目录 1、报错内容 2、解决方案 &#xff08;1&#xff09;检查 &#xff08;2&#xff09;报错原因 &#xff08;3&#xff09;解决步骤 3、解决结果 1、报错内容 在PyCharm编写好脚本后&#xff0c;模拟器和appium也是连接成功的&#xff0c;但是运行脚本时报错&…...

QT 中 多线程(备查)

基础 一个线程处理窗口事件&#xff0c;其他线程进行逻辑运算 在QT中使用多线程&#xff0c;需要额外注意的&#xff1a; 1&#xff09;默认的线程在Qt中称之为窗口线程&#xff0c;也叫主线程&#xff0c;负责窗口事件处理或者窗口控件数据的更新 2&#xff09;子线程负责后台…...

第八十六条:在实现serializable接口时要特别谨慎

要想使一个类的实例可被序列化&#xff0c;非常简单&#xff0c;只要在它的声明中加入"implements Serializable"字样即可。虽然使一个类可被序列化的直接开销低到甚至可以忽略不计&#xff0c;但是为了序列化而付出的长期开销往往是实实在在的。 为实现Serializable…...

【Elasticsearch 中间件】Elasticsearch 客户端使用案例

文章目录 一、安装 Elasticsearch1.1 启动 Elasticsearch1.2 启动 Kibana 二、客户端代码2.1 导入依赖2.2 配置 application.yaml2.3 定义实体类2.4 连接 Elasticserach2.5 定义 Service 层接口2.6 实现 Service 层功能 三、测试项目3.1 添加数据3.2 搜索数据3.3 更新数据3.4 删…...

深入理解MySQL中的ONLY_FULL_GROUP_BY

在MySQL数据库管理中&#xff0c;ONLY_FULL_GROUP_BY是一个重要的SQL模式&#xff0c;它直接影响着GROUP BY语句的执行方式和结果。本文将从基础概念出发&#xff0c;逐步解析ONLY_FULL_GROUP_BY的工作原理、应用场景及应对策略。 什么是ONLY_FULL_GROUP_BY&#xff1f; ONLY…...

MTKClient实用指南:三步解锁联发科设备的终极解决方案

MTKClient实用指南&#xff1a;三步解锁联发科设备的终极解决方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient是一款专为联发科芯片设备设计的开源逆向工程与刷机工具&#x…...

Codex:不只是程序员的代码助手,更是办公人士的高效伙伴

Codex&#xff1a;不只是程序员的代码助手&#xff0c;更是办公人士的高效伙伴 面向团队协作、文档处理、数据分析和日常执行的智能工作台 当人们谈到 Codex&#xff0c;第一反应往往是“写代码”。这当然是它的强项&#xff0c;但如果只把 Codex 看成程序员的专属工具&#…...

北京AGG专用配件哪家性价比高

在选择AGG聚砂吸声系统的专用配件时&#xff0c;不少工程方和设计师都会问“北京哪家性价比高”。我的建议是&#xff1a;别只看标价&#xff0c;要看配件与系统的适配度、长期使用的稳定性&#xff0c;以及能否提供及时的技术支持。AGG系统本身是一个完整的声学解决方案&#…...

WindowsCleaner终极指南:3步告别C盘爆红,让Windows重获新生

WindowsCleaner终极指南&#xff1a;3步告别C盘爆红&#xff0c;让Windows重获新生 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘变红的警告&…...

通用AGI终极范式:从多模态感知到意识涌现的统一理论(世毫九实验室原创研究)

通用AGI终极范式&#xff1a;从多模态感知到意识涌现的统一理论作者&#xff1a;方见华单位&#xff1a;世毫九实验室摘要本研究基于世毫九理论体系的数学框架&#xff0c;构建了通用人工智能&#xff08;AGI&#xff09;的完整理论体系和演化路径。通过建立包含拓扑复杂度、动…...

Ruby开发者指南:使用chatgpt-ruby轻量级封装集成OpenAI API

1. 项目概述&#xff1a;一个为Ruby开发者打造的OpenAI API轻量级封装 如果你是一名Ruby开发者&#xff0c;正琢磨着如何在自己的Rails应用、Sinatra服务或者一个简单的CLI工具里&#xff0c;优雅地集成ChatGPT的能力&#xff0c;那么 chatgpt-ruby 这个Gem很可能就是你正在…...

Arm SMMUv3_ROOT寄存器架构与颗粒保护机制详解

1. SMMUv3_ROOT寄存器架构解析SMMUv3_ROOT是Arm系统内存管理单元(SMMU)架构中的核心控制模块&#xff0c;负责管理物理内存的访问权限和隔离机制。作为现代SoC中不可或缺的安全组件&#xff0c;它通过一组精心设计的寄存器实现对内存访问的细粒度控制。1.1 寄存器分类与功能矩阵…...

HUM4D数据集:无标记人体动作捕捉的挑战与评估

1. HUM4D数据集概述HUM4D是一个专门针对无标记人体动作捕捉技术评估的基准数据集&#xff0c;由计算机视觉研究团队开发。这个数据集的核心价值在于填补了现有动作捕捉基准在复杂场景下的空白——那些包含快速运动、严重遮挡、深度突变和身份混淆的真实挑战。在动作捕捉领域&am…...

教育云平台数据泄露与网络钓鱼风险防控研究—— 基于牛津大学 Canvas 安全事件的分析

摘要 教育数字化转型背景下&#xff0c;云学习管理平台的数据安全与风险防控已成为全球高校共同面临的挑战。2026 年 5 月&#xff0c;全球主流教育云平台 Canvas 发生大规模未授权访问事件&#xff0c;牛津大学等多所高校用户数据遭泄露&#xff0c;核心风险直指数据泄露后的…...

GitAhead本地化配置详解:打造最适合你的中文Git环境

GitAhead本地化配置详解&#xff1a;打造最适合你的中文Git环境 【免费下载链接】gitahead Understand your Git history! 项目地址: https://gitcode.com/gh_mirrors/gi/gitahead GitAhead是一款功能强大的Git客户端工具&#xff0c;旨在帮助开发者更直观地理解和管理G…...