gpt4 book ai didi

java - java计算图(网络)中的节点数

转载 作者:行者123 更新时间:2023-12-01 05:13:24 25 4
gpt4 key购买 nike

我正在用java编写一个程序来安排项目中的 Activity ,同时考虑到资源限制(类似于MS项目,但当然更基本)。当可用资源太少时,我使用优先级规则按一定顺序安排 Activity (这样可以首先安排最重要的 Activity )。

我正在安排的优先级规则之一是“总后继者最多”,该规则优先考虑拥有最多“未安排”关注者的 Activity 。我附上了一张图片,让您了解我在说什么(这不是我正在使用的项目的图片,因为它太大了)。对于 Activity A,后继者总数为 3(B、E、C)。

我有关于 Activity 总数以及所有 Activity 的直接后继者的信息(以二进制形式,例如,如果followers[ 2 ][ 1 ]==1,这意味着 Activity 2是 Activity 的立即追随者1),但我的主要问题是我不知道如何从关注者的关注者和关注者的关注者的关注者那里获取信息,并且......因为我不知道我的图表有多“深”。我已经在互联网上搜索了解决方案,但大多数似乎都适用于二叉树(如二分搜索),而我的网络并非如此(某些 Activity 有 3 个或更多关注者,某些 Activity 是共享的,... )。

有人可能知道(或提示)我如何处理这个问题吗?预先非常感谢! (很抱歉这篇文章很长)

Example of a network

最佳答案

使用一组已计数的节点,最初为空。从根节点开始。对于当前节点的每个子节点,如果它尚未在集合中,则将其添加到集合中,递增计数器,然后应用相同的算法,使用相同的集合,并将子节点作为起始节点。

关于java - java计算图(网络)中的节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11699709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com