You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

拓扑排序算法(深度优先搜索)在Python中的实现

以下是一个使用深度优先搜索算法实现拓扑排序的示例代码:

from collections import defaultdict

class Graph:
    def __init__(self, num_vertices):
        self.num_vertices = num_vertices
        self.adj_list = defaultdict(list)
    
    def add_edge(self, u, v):
        self.adj_list[u].append(v)
    
    def dfs(self, u, visited, stack):
        visited[u] = True
        
        for v in self.adj_list[u]:
            if not visited[v]:
                self.dfs(v, visited, stack)
                
        stack.append(u)
    
    def topological_sort(self):
        visited = [False] * self.num_vertices
        stack = []
        
        for u in range(self.num_vertices):
            if not visited[u]:
                self.dfs(u, visited, stack)
        
        return stack[::-1]

# 创建一个有向图
g = Graph(6)
g.add_edge(5, 2)
g.add_edge(5, 0)
g.add_edge(4, 0)
g.add_edge(4, 1)
g.add_edge(2, 3)
g.add_edge(3, 1)

# 执行拓扑排序
result = g.topological_sort()

# 输出结果
print("拓扑排序结果:")
for vertex in result:
    print(vertex, end=" ")

运行以上代码,输出结果为:

拓扑排序结果:
5 4 2 3 1 0

这个示例代码中,首先定义了一个Graph类来表示有向图,其中包含了添加边和进行深度优先搜索的方法。然后,通过创建Graph对象并添加边的方式来构建一个有向图。最后,调用topological_sort方法执行拓扑排序,并输出排序结果。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

万字长文带你漫游数据结构世界|社区征文

将数据之间的关系表现在存储上,计算的时候可以较为高效的利用适配的算法,那么程序的运行效率肯定也会有所提高。常用的4种数据结构有:- 集合:只有同属于一个集合的关系,没有其他关系- 线性结构:结构中的数据... 在树的层次遍历中可以使用队列解决,一般广度优先搜索都可以使用队列解决。## 哈希表前面的数据结构,查找的时候,一般都是使用`=`或者`!=`,在折半查找或者其他范围查询的时候,可能会使用`<`和`>`,理想的时候,我们...

2022技术盘点之平台云原生架构演进之道|社区征文

云治理正是企业实现云价值最大化的重要第一步。2022年作为公司SmartOps产品负责人,在技术方面进行了微服务架构向云原生架构的演进升级,打造更稳定、安全、实用的平台,支持业务更好的发展。### 1.2 平台简介[... 服务发现:在同一名称空间,直接使用service信息发起调用;- 方案特点: - 优势:负载均衡算法在服务端实现(service 的原生负载均衡算法),后期可使用服务治理框架例如istio/linkerd进行服务治理。 - 不足:服务直接...

火山引擎大规模机器学习平台架构设计与应用实践

同时在这些硬件基础上还要提供强大的调度能力,才能为各种需求提供较好的服务,使集群利用率维持在较高水平。模型训练的第二个痛点是偏管理上的。比如在算法问题上,一个方法比另外一好,其中的原因多种多样,可能是基... 这些算子的性能往往比好的开源实现有非常明显的提升。在通信上:我们开源了 BytePS 的通信框架。BytePS 同时利用了 CPU 和 GPU 两种异构资源来加速通信,在对拓扑的探测上做了细致和智能的优化,并且支持异步和同步...

我的技术年终总结——机器学习 |社区征文

## 一、机器学习是什么?- 从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种... 因为计算机系统中“经验‘通常以数据的形式存在,所以机器要利用经验,就必须对数据 进行分析。因此其过程可以简述如下:- **建立模型**:设计计算机可以自动“学习”的算法- **训练**:用数据训练算法模型(算...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

拓扑排序算法(深度优先搜索)在Python中的实现-优选内容

最新动态(2024年前)
优化留存任务每次重跑的问题 针对mab实验流量算法改动和mab报告优化 【新增】指标组详情增加指标是否关联运行中实验 漏斗指标支持刷新计算 2023年4月25日 V2.6.0 版本 【新增】全新MAB智能调优实验上线,点击了解... 搜索对应Feature 【指标管理】指标支持复制和删除 【流量分配】“流量变更是否会影响已分配的进组用户,只会对未进组用户”开关逻辑调整客户端实验:实验调试状态中,不允许关闭开关;在运行中的状态下修改实验,开关默...
万字长文带你漫游数据结构世界|社区征文
将数据之间的关系表现在存储上,计算的时候可以较为高效的利用适配的算法,那么程序的运行效率肯定也会有所提高。常用的4种数据结构有:- 集合:只有同属于一个集合的关系,没有其他关系- 线性结构:结构中的数据... 在树的层次遍历中可以使用队列解决,一般广度优先搜索都可以使用队列解决。## 哈希表前面的数据结构,查找的时候,一般都是使用`=`或者`!=`,在折半查找或者其他范围查询的时候,可能会使用`<`和`>`,理想的时候,我们...
开发前必读
在应用管理列表中可以看到创建的应用,复制秘钥(AK,SK) 使用该 AK,SK 调用 6.1 中的获取用户临时 Token 接口获取临时凭证(包含了临时 AK,SK 和 token) 使用临时 AK,SK 和 token(有时效性) 可以访问其他 OpenAPI(或者通过 SDK 的方式调用,调用方式见 8. SDK 的使用。 注:通过 STS 临时凭证直接调用 OpenAPI 时,AK 和 SK 的使用方式和之前相同,在此基础上,新增 header:X-Cdp-Security-Token,value 为 token 3. 调用方法 3.1 ...
火山引擎大规模机器学习平台架构设计与应用实践
同时在这些硬件基础上还要提供强大的调度能力,才能为各种需求提供较好的服务,使集群利用率维持在较高水平。模型训练的第二个痛点是偏管理上的。比如在算法问题上,一个方法比另外一好,其中的原因多种多样,可能是基... 这些算子的性能往往比好的开源实现有非常明显的提升。在通信上:我们开源了 BytePS 的通信框架。BytePS 同时利用了 CPU 和 GPU 两种异构资源来加速通信,在对拓扑的探测上做了细致和智能的优化,并且支持异步和同步...

拓扑排序算法(深度优先搜索)在Python中的实现-相关内容

新功能发布记录

4 层 TCP 监听器接入云 WAF 实例 2024-03-07 网站接入 优化网站列表搜索、筛选和排序功能。 - 2024 年 1 月发布时间 功能模块 说明 相关文档 2024-01-31 全部 Open API 发布,包括网站接入、防护策略配... 2023-11-30 安全概览 概览拓扑图展示接入方式和回源信息,回源信息显示公网 IP 地址,或是 VPC 与内网 IP 地址。 安全概览 2023-11-30 网站接入 CNAME 接入方式中,增加长连接服用、超时等参数配置。 通过...

2022年终总结-两年Androider的技术成长之路|社区征文

克里斯坦的《创新者窘境》- 《了不起的我》- 《坏比好厉害》- 《吾心可鉴-澎湃的福流》- 《指导生活的算法:人类生活中的计算机科学》- 《忧郁的热带》- 《规模》- 《必然》- 《决策思维》- 《心理资本》... 男性的自我强调自我实现:修饰齐家治国平天下,女性的自我强调自我救助:不完善的自我需要爱情来修补9.在婚姻市场上男性被进一步要求提供更为强大的经济基础,女性在追求经济独立的过程中,却被消费注意进一步“物化”...

GitHub Copilot:让开发编程变得像说话一样简单 |社区征文

我们这里浅尝试下单方法以及算法,比如耳熟能详的数据结构算法,快速排序、冒泡排序、二分查找…![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/330bf2c201f14c5f930d9c48b3c6... 单击工具底部状态栏中的 GitHub Copilot 图标,进入 GitHub Copilot ,可以选择使用 GitHub 账户登录。在使用 GitHub Copilot 插件过程中,像我们在上述给的示例中,即在编辑器中输入关键字或者你想要实现效果的提示语...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

火山引擎上云迁移指南(一):上云迁移背景与流程

推荐算法等服务,希望通过迁移上云来整改优化已经老旧的业务系统,最终通过迁移并重新优化业务、IT架构来激活企业的创新,打开企业的新局面。- **法律安全合规**: - 汽车行业:自动驾驶场景,涉及采集地理信息中包含... 您在定价、折扣和功能方面的选择有限。多云的目标可以是实现在供应商之间不受限制地移动的灵活性。#### 火山引擎平台的价值火山引擎是字节跳动旗下的云服务平台, 将字节跳动快速发展过程中积累的增长方法、技...

字节跳动 EB 级 Iceberg 数据湖的机器学习应用与优化

训练模型所需的计算资源也在不断提升。然而如果样本的读取速度无法跟上算力的增长就会成为训练过程中的瓶颈,限制算力资源的有效利用率。所以我们需要寻找方法来提高样本的读取吞吐量,确保可以充分利用现有的算力资源。最后,在深度学习的加持下特征工程已经变得更加自动化和简化,我们可以顺应趋势进一步**提高特征调研和工程的效率**。通过加速特征工程和调研过程缩短模型迭代周期、提高算法的开发效率。 # 存储样本方案演...

VikingDB:大规模云原生向量数据库的前沿实践与应用

VikingDB 在字节内部的应用向量数据库近来的火热来源于大语言模型的兴起,但在大模型兴起之前,VikingDB 已经在字节内部广泛应用,最初应用在推荐、广告、搜索的召回环节,后来逐步扩展到了消重、风控、对话、文档搜... 基于向量的相关性排序和多样性打散等能力,以更好地满足 AI 原生应用程序多样的向量计算需求。另外,除了以向量为核心的基础能力之外,VIkingDB 从模型迭代,信息安全等角度或场景做了特性支持,以更好的产品形态或功...

未来向量数据库的崛起与多元化场景创新 主赛道 | 社区征文

向量数据可以在多维空间中提到数据的特点,能通过深度学习模型来达到最准确、更有效的数据解决与分析。它的核心思想是以向量(也称为嵌入向量或特征向量)为数据的基本单元,用于存储、检索和查询大规模的高维数据。... 在向量数据库中,每个向量都有一个唯一的标识符,可以实现快速检索和访问向量数据库中的数据。我们可以借助亚马逊云技术平台强悍的测算、存储和负载平衡服务,向量数据库能够实现高效、可扩展性跟高容错性,为用户提...

字节跳动基于大规模弹性伸缩实现拓扑感知的在离线并池

业界的常用做法是通过在离线资源并池实现利用率的提升,字节跳动内部也采用了类似的方式。根据统计,字节内部资源占用最多的在线业务主要是 Web 服务和算法类服务;排队最严重的离线业务主要是报表查询和模型训练相关... **在线算法服务:** 包括推荐、广告、搜索核心服务等;算法服务在运营过程中需要加载大量的在线模型,在资源使用上除了占用 CPU,也会占用较大的内存;同时算法服务不仅对调用延迟较为敏感,对业务的展现效果也有一定...

数据存储

需治理的表数量可能会存在缺失的情况。创建采集器详见元数据采集。 若 EMR 集群已被删除,但因元数据采集器仍然保留时,资产范围筛选的表会在 T+1 后更新。 其中表名称:支持模糊搜索,并支持批量录入搜索,您可单击右侧... 其中列表中部分字段说明如下: 存储健康分:展现当前表的存储健康分信息,具体计算规则及权重详见存储健康分。 逻辑/物理存储:基于hms分区元数据逻辑/物理大小的累加计算,支持排序。 近一周/两周/两月/一年增长情况:表...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询