数据结构和算法-AOV与AOE网络和(逆)拓扑排序与关键路径

文章目录

  • AOV网络
  • 拓扑排序
  • 代码实现
    • 时间复杂度
  • 逆拓扑排序
    • 实现
    • DFS算法实现逆拓扑排序
    • 小结
  • AOE网络
    • 关键路径
    • 求关键路径
      • 求事件最早发生时间
      • 求事件最迟发生时间
      • 求活动最早发生时间
      • 求活动最迟发生时间
      • 求活动余量
    • 关键活动 关键路径的特性
    • 小结

AOV网络

必须是DAG图(有向无环图)
在这里插入图片描述

拓扑排序

在这里插入图片描述
在这里插入图片描述
排序序列不唯一
当前网中不存在无前驱的顶点即存在回路
在这里插入图片描述
在这里插入图片描述

代码实现

此时时邻接表存储
首先入度为0的点入栈
然后开始出栈,知道栈为空,每出一个保存到print数组中,然后将出栈的点指向的顶点入度减1,并把入度为零的顺便压入栈中
在这里插入图片描述

时间复杂度

在这里插入图片描述

逆拓扑排序

在这里插入图片描述

实现

逆邻接表
在这里插入图片描述

DFS算法实现逆拓扑排序

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

AOE网络

在这里插入图片描述
在这里插入图片描述

关键路径

下图关键路径标红
在这里插入图片描述
在这里插入图片描述
按关键路径从后往前推
在这里插入图片描述
在这里插入图片描述

求关键路径

所有事件的最早发生时间就是所有活动的最早发生时间
而所有事件的最迟发生事件并不等于所有活动的最迟发生时间
所有活动的最迟发生时间需要通过活动的执行时间和所有事件的最迟发生时间来求
在这里插入图片描述

求事件最早发生时间

在这里插入图片描述

求事件最迟发生时间

在这里插入图片描述

求活动最早发生时间

在这里插入图片描述

求活动最迟发生时间

在这里插入图片描述

求活动余量

在这里插入图片描述

关键活动 关键路径的特性

缩短到一定程度时,即再缩短也无法缩短整个工程的工期了

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Microsoft刷题记录

PASS区 串联字符串的最大长度通知所有员工所需的时间单词搜索 PASS但非最优 合并区间实现 Trie (前缀树) 非PASS区 将石头分散到网格图的最少移动次数去除重复字母和为K的子数组颜色分类 注意 dfs 应该是i1,而不是idx1,老容易写错

本科论文降重修改技巧 神码ai

大家好,今天来聊聊本科论文降重修改技巧,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 本科论文降重修改技巧 对于本科论文的写作,降重修改是一个…

C++ I/O操作---输入输出

本文主要介绍C I/O操作中的输入输出流。 目录 1 输入输出 2 输入输出流分类 3 C中的输入输出流 4 iostream 5 std::ofstream 6 std::fstream 7 std::getline 1 输入输出 C的输入输出是数据在不同设备之间的传输,即在硬盘、内存和外设之间的传输。 数据如水流…

飞天使-docker知识点6-容器dockerfile各项名词解释

文章目录 docker的小技巧dockerfile容器为什么会出现启动了不暂停查看docker 网桥相关信息 docker 数据卷 docker的小技巧 [rootlight-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f 172.17.0.4docker d3a9ae03ae5f:/etc…

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版:17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候,报java.lang.Ill…

电子元器件介绍——二极管(四)

电子元器件介绍 文章目录 电子元器件介绍前言一、二极管的基础知识二、二极管的分类三、二极管的应用总结 前言 这一节我们看一下二极管。 一、二极管的基础知识 PN结:是指一块半导体单晶,其中一部分是P型区,其余部分是N型区。 在电场作用…

听GPT 讲Rust源代码--src/tools(14)

File: rust/src/tools/rust-analyzer/crates/cfg/src/lib.rs 在Rust源代码中,rust/src/tools/rust-analyzer/crates/cfg/src/lib.rs这个文件是Rust语言分析器(Rust Analyzer)的一部分,用于处理和管理条件编译指令(Cond…

打破涨粉瓶颈!如何通过视频号找热门话题?

如果你正在运营视频号,相信你一定会遇到这样的瓶颈,视频号播放不理想,牟足劲想涨几个粉丝,结果还掉粉了?今天我们就聊聊如何通过视频号找热门话题! 当你的播放和粉丝增长停滞 数据不好的的时候需要更新迭代 同时还需…

DeciLM-7B:突破极限,高效率、高精准度的70亿参数AI模型

引言 在人工智能领域,语言模型的发展速度令人瞩目。Deci团队最近推出了一款具有革命性意义的语言模型——DeciLM-7B。这款模型在速度和精确度上都实现了显著的突破,以其70亿参数的规模,在语言模型的竞争中脱颖而出。 Huggingface模型下载&am…

数据库通用语法DML-MySQL

DML(数据操作语言) 添加数据 指定字段: INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); 全部字段: INSERT INTO 表名 VALUES (值1, 值2, ...); 批量添加数据: INSERT INTO 表名 (字段名1, 字段…

torch中张量与数据类型的介绍

PyTorch张量的定义介绍 PyTorch最基本的操作对象是张量,它表示一个多维数组,类似NumPy的数组,但是前者可以在GPU上加速计算 初始化张量 ttorch.tensor([1,2]) # 创建一个张量 print(t) t.dtype #打印t的数据类型为torch.int…

尺度函数与小波函数

尺度函数与小波函数 尺度函数 设存在函数 φ j , k ( x ) 2 j / 2 φ ( 2 j x − k ) \varphi_{j,k}(x)2^{j/2}\varphi(2^{j}x-k) φj,k​(x)2j/2φ(2jx−k) 对所有的 j j j, k ∈ Z k{\in}\mathbb{Z} k∈Z 和 φ ( x ) ∈ L 2 ( R ) \varphi(x){\in}L^2(R) φ(x)∈L2(R)…

为什么Apache Doris适合做大数据的复杂计算,MySQL不适合?

为什么Apache Doris适合做大数据的复杂计算,MySQL不适合? 一、背景说明二、DB架构差异三、数据结构差异四、存储结构差异五、总结 一、背景说明 经常有小伙伴发出这类直击灵魂的疑问: Q:“为什么Apache Doris适合做大数据的复杂计…

大数据与深度挖掘:如何在数字营销中与研究互动

数字营销最吸引人的部分之一是对数据的内在关注。 如果一种策略往往有积极的数据,那么它就更容易采用。同样,如果一种策略尚未得到证实,则很难获得支持进行测试。 数字营销人员建立数据信心的主要方式是通过研究。这些研究通常分为两类&…

【教3妹学编程-算法题】找出峰值

3妹:2哥2哥,你有没有看到新闻:北京地铁事故中102人骨折! 2哥 : 看到了,没想到坐个地铁还出事故了。 3妹:事故原因为雪天轨滑导致前车信号降级,紧急制动停车,后车因所在区段位于下坡地…

二维数组——特征匹配(c++)

右上左下遍历 给定一个n行m列的整数数组a&#xff0c;要求从a[0][0] 元素开始&#xff0c;按从右上到左下的对角线顺序遍历整个数组。 输出 按遍历顺序输出每个整数。每个整数占一行。 样例输入 3 3 1 2 4 3 5 7 6 8 9 样例输出 1 2 4 3 5 7 6 8 9 #include <iostream&g…

【️Java是值传递还是引用传递?】

✅Java是值传递还是引用传递&#xff1f; ✅Java是值传递还是引用传递&#xff1f;✅典型理解 ✅增加知识仓✅Java的求值策略✅Java中的对象传递✅值传递和共享对象传递的现象冲突吗? ✅总结 ✅Java是值传递还是引用传递&#xff1f; ✅典型理解 编程语言中需要进行方法间的…

一句话分清C/C++声明和定义

定义告诉编译器在在哪个位置存储变量&#xff0c;声明没有 声明&#xff1a;告诉编译器&#xff0c;变量类型和名字 定义&#xff1a;告诉编译器变量存储的位置。 举例子 int i; // 这是声明定义。声明&#xff1a;告诉编译器变量类型int,变量名字i&#xff0c; // 定义&…

kafka学习笔记--Kafka副本

本文内容来自尚硅谷B站公开教学视频&#xff0c;仅做个人总结、学习、复习使用&#xff0c;任何对此文章的引用&#xff0c;应当说明源出处为尚硅谷&#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;从入门到调优…

比特币即自由

号外&#xff1a;教链内参12.15《疯狂的铭文》 文 | Ross Ulbricht. 原文标题&#xff1a;Bitcoin Equals Freedom. 2019.9.25 在中本聪发明比特币后的头一年左右&#xff0c;发生了一些特别的事情&#xff0c;不仅没有人预料到&#xff0c;甚至很多人认为不可能。试着想象一下…