数据结构关于AOV与AOE网的区别
AOV网,顶点表示活动,弧表示活动间的优先关系的有向图。
即如果a->b,那么a是b的先决条件。
AOE网,边表示活动,是一个带权的有向无环图,
其中顶点表示事件,弧表示活动,权表示活动持续时间。
按我理解,你要求拓扑序列就是AOV,求关键路径就是AOE
具体是要实现 计算一个电力网络的东西 有很多节点互相连接 有一个现成的算法可以计算节点之间断路的风险
现在算法已经弄好了 但是网状的结构如何在c++中实现?
我不是学计算机的,因为会一点编程被人赶鸭子上架来干这个。。。
希望指出一点思路就可以了
c/c++的话,可以自己定义一个结构体。
按照你描述的情况,这个结构体或者类,可以定义为如下式样(推荐定义成类):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class ElectricNode{ // 这里仅提供一些基本供参考的成员定义,我也不知道你要保存什么东西 public: ElectricNode(); virtual ~ElectricNode(); private: // 这里定义一些这个节点相关的信息(不是太懂,猜想比如有节点的电压啊、最大允许的电流负荷啊什么的,都能做成员变量保存在这里,这些是节点相关的信息。) // 最重要的是一个网状的结构体系,因为某一个节点可能与未知数量的节点连接,而且为了便于修改连接关系,推荐使用c++现有的vector结构做拓展 vector<ElectricNode> m_nodes_connected; // 只保存与他相连的节点};整体的话,可以直接用一个vector<ElectricNode>存储所有的电网的点,因为每一个ElectricNode类都记住了这个点相关的信息以及和他相连接的点,自然就形成了一个网了。因为STL的这些标准容器都提供了数组越界检查、内存自动分配、以及一系列的存取查找删改相关的方法,操作起来比较方便,比自己写数组管理方便很多,也比较安全可靠。再加上类的话,能够提供一些方法,比如内一个节点自己里面就能做一些短路风险相关的计算准备工作,或者直接提供准确的数值,对于外部叠加上来的算法,不论是书写还是计算,都方便很多,就算日后调整、修改算法,也是十分方便的 |
数据结构关于AOV与AOE网的区别的更多相关文章
- 算法与数据结构(八) AOV网的关键路径
上篇博客我们介绍了AOV网的拓扑序列,请参考<数据结构(七) AOV网的拓扑排序(Swift面向对象版)>.拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的, ...
- 算法与数据结构(八) AOV网的关键路径(Swift版)
上篇博客我们介绍了AOV网的拓扑序列,请参考<数据结构(七) AOV网的拓扑排序(Swift面向对象版)>.拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的, ...
- AOE网与关键路径简介
前面我们说过的拓扑排序主要是为解决一个工程能否顺序进行的问题,但有时我们还需要解决工程完成需要的最短时间问题.如果我们要对一个流程图获得最短时间,就必须要分析它们的拓扑关系,并且找到当中最关键的流程, ...
- 基于AOE网的关键路径的求解
[1]关键路径 在我的经验意识深处,“关键”二字一般都是指临界点. 凡事万物都遵循一个度的问题,那么存在度就会自然有临界点. 关键路径也正是研究这个临界点的问题. 在学习关键路径前,先了解一个AOV网 ...
- 教你轻松计算AOE网关键路径(转)
原文链接:http://blog.csdn.net/wang379275614/article/details/13990163 本次结合系统分析师-运筹方法-网络规划技术-关键路径章节,对原文链接描 ...
- 教你轻松计算AOE网关键路径
认识AOE网 有向图中,用顶点表示活动,用有向边表示活动之间开始的先后顺序,则称这种有向图为AOV网络:AOV网络可以反应任务完成的先后顺序(拓扑排序). 在AOV网的边上加上权值表示完成该活动所需的 ...
- AOE网与关键路径
声明:图片及内容基于https://www.bilibili.com/video/BV1BZ4y1T7Yx?from=articleDetail 原理 AOE网 关键路径 数据结构 核心代码 Topo ...
- _DataStructure_C_Impl:AOE网的关键路径
//_DataStructure_C_Impl:CriticalPath #include<stdio.h> #include<stdlib.h> #include<st ...
- 外网IP和内网IP区别
外网IP和内网IP区别? 网络结构 如图,假设我们的计算机现在就是设备一,我们想要访问百度.如果我们正使用着校园网,那么首先我们需要先通过校园网的路由器把我们的内网ip转为校园网的外网ip.然后通过这 ...
随机推荐
- 04 svn设置开机启动
一:设置开机启动[dos命令] 格式: sc create 服务名称 binPath=空格"安装目录/svnserve.exe -r 版本库地址目录 --service" star ...
- linux下启动和关闭weblogic(转载)
在weblogic定义的域中可以找到如下命令: /[youHome]/domains/[yourDomain]/startWebLogic.sh /[youHome]/domains/[yourDom ...
- 几个经典的TCP通信函数
前言 在TCP通信中要使用到几个非常经典的函数( 点这里参考一个关于它们作用的形象比方 ),本文将对这几个函数进行一个简短的使用说明. socket函数 函数作用:创建一个网际字节流套接字 包含头文件 ...
- 九度OJ 1095:2的幂次方 (递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:913 解决:626 题目描述: Every positive number can be presented by the exponent ...
- yuicompressor
yui/yuicompressor: YUI Compressor https://github.com/yui/yuicompressor YUI Compressor 详细介绍 YUI ...
- xorm
https://github.com/go-xorm/xorm Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3, ...
- windows与mac共享文件
实际操作环境是win10实体机与mac10.10虚拟机共享文件. 需要两步操作: 在win10中设置一个共享文件夹: 在mac中点击Finder——窗口左侧的列表——共享的——共享屏幕——输入用户名密 ...
- AndroidPageObjectTest_Chained.java
以下代码使用ApiDemos-debug.apk进行测试 //这个脚本用于演示PageFactory的功能:链式注解@AndroidFindBys.@IOSFindBys.具体用法参考页面类的代码. ...
- HTTP1.1学习笔记 -- RFC2616
本人跟web无缘,从来没有想去学http,现在看来,学学也是有益无害,总会要用着点滴. RFC见这里: https://www.ietf.org/rfc/rfc2616.txt 0. URI格式 ht ...
- platform_set_drvdata 和 platform_get_drvdata
ndev是我们在probe函数中定义的局部变量,如果我想在其他地方使用它怎么办呢? 这就需要把它保存起来.内核提供了这个方法,使用函数platform_set_drvdata()可以将ndev保存成平 ...