检测有向图中循环的最佳算法[关闭]

2023-11-22

是否有一种有效的算法来检测有向图中的循环?

我有一个有向图,表示需要执行的作业的时间表,作业是节点,依赖项是边。我需要检测该图中导致循环依赖的循环错误情况。


Tarjan 的强连通分量算法 has O(|E| + |V|)时间复杂度。

其他算法请参见强连接组件在维基百科上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测有向图中循环的最佳算法[关闭] 的相关文章

  • 找到一系列间隔的最有效分组

    我有一个应用程序 其中有一系列不重叠的固定宽度间隔 每个间隔都有一个给定的键 每个间隔具有相同的宽度 并且可以存在连续的间隔 本质上 我想以最小化单独间隔的数量的方式对间隔和键进行分组 这可以通过合并具有相同键的连续间隔或查找匹配间隔并将它
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • 无需构建树即可预测霍夫曼压缩比

    我有一个二进制文件 我知道其中每个符号出现的次数 如果我要使用霍夫曼算法压缩它 我需要预测压缩文件的长度 我只对假设的输出长度感兴趣 而不对单个符号的代码感兴趣 因此构建霍夫曼树似乎是多余的 作为一个例子 我需要得到类似的东西 包含 4 个
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 分而治之策略来确定列表中是否有超过 1/3 的相同元素

    我正在使用分治算法来确定列表中是否有超过 1 3 的元素相同 例如 1 2 3 4 不 所有元素都是唯一的 1 1 2 4 5 是的 其中 2 个是相同的 没有排序 是否有分而治之的策略 我陷入了如何划分的困境 def is valid i
  • C 埃及分数

    古埃及人仅使用以下形式的分数1 n因此任何其他分数都必须表示为这些单位分数的总和 而且 所有单位分数都是不同的 在C或Java中使任何分数成为埃及分数 总和越少越好 的好方法是什么 可以使用什么算法 分支定界 a 例如 3 4 1 2 1
  • 7 张牌扑克手牌评估器

    有谁知道评估 7 张牌扑克牌的快速算法吗 这比简单地暴力检查 7 张牌中每 21 个 5 张牌的组合更有效 Cheers Pete 我写了一篇JavaScript 核心评估方法仅使用位操作 因此速度非常快 考虑到这一点 查看 21 种组合还
  • 具有 2 个属性的背包算法。如何在 3d 数组中实现它?

    当有超过 1 个属性时 我无法理解背包问题 当有 1 个属性时 我必须编写一个使用具有 2 个属性的背包算法的程序 老师告诉我们 它必须在 3d 数组中完成 错误的实现将导致 O 2 n 处理时间 我无法想象这样的数组会是什么样子 假设这是
  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • 在 O(n) 时间内排序?

    我被这个问题困扰了 2周 知道如何处理它吗 令 L 为 n 个不同整数的列表 假设 L 的 x 的元素在 1 750 范围内 设计线性排序算法对 L 的元素进行排序 我已经尝试过插入排序 但我不确定我的方法是否正确 Construct an
  • 举例解释bpe(字节对编码)?

    有人可以帮忙解释一下背后的基本概念吗BPE模型 除了这张纸 https arxiv org abs 1508 07909 目前还没有那么多解释 到目前为止我所知道的是 它通过将罕见和未知的单词编码为子词单元序列来实现开放词汇表上的 NMT
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • 每个术语出现的次数

    我得到了一个数组a n 2 where n can be 10 5最大时有n个科目和n个学生 全部编号为 1 2 n a i 0 and a i 1 1 lt i lt n 表示在第 i 个科目中 所有来自a i 0 to a i 1 通过
  • 照片马赛克算法。如何在给定基本图像和瓷砖列表的情况下创建马赛克照片?

    Hy 我要做的是创建一个程序 使用 C 或 C 它将 24 位 像素位图和图像集合作为输入 我必须创建一个马赛克图像 类似于使用库的输入图像给定的图像 创建与输入类似的马赛克照片 到目前为止 我可以访问输入的图像像素及其颜色 但我有点卡住了
  • 需要解释搜索最小大和的算法

    我正在解决 Codility 问题作为练习 但无法回答其中一个问题 我在互联网上找到了答案 但我不明白这个算法是如何工作的 有人可以引导我逐步完成它吗 这是问题 You are given integers K M and a non em
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 依赖解析算法

    我正在编写一个包管理器 为此我希望依赖项解析尽可能强大 每个包都有一个版本列表 每个版本包含以下信息 具有可比性的 ID 依赖关系 软件包列表以及每个软件包的一组可接受的版本 冲突 软件包列表以及每个软件包的一组与该版本一起导致问题的版本
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5

随机推荐

  • Rails 本地服务器错误:没有这样的文件database.yml

    我正在与另一位开发人员一起开发一个项目 在尝试启动本地服务器时遇到错误 缺少数据库 yml 我只是使用 sqlite 另一个开发人员正在使用 mongrel 因此我没有 database yml 文件 我没有使用 Mongrel 因为我使用
  • gcc 共享库无法链接到 glibc

    我正在 Linux 64 位下使用 Eclipse CDT 编写一个简单的 C 共享库 该代码有一个对rand 函数在
  • 什么是类型安全?

    我最近参加了一次脑力测试 获得了高分 但是有几个问题对我来说很难 也许是因为英语不是我的母语 问题之一是 以下哪一项描述了类型安全 用于确保 CLR 中引用和值类型安全的编程构造 防止由于禁止非托管访问而导致内存泄漏 特定于 CLR 的功能
  • 等待扇出交换上的所有rabbitmq响应?

    我配置了一个名为 的rabbitmq扇出交换 ex foo 对于 RPC 工作负载 当客户端连接到服务器时 它们会创建自己的非持久 RPC 接收队列并使用 BasicConsumer 连接到它 应用程序侦听消息 命令并响应在reply to
  • Cuda虚拟课堂

    我想在 cuda 内核中执行一些虚拟方法 但我不想在同一内核中创建对象 而是想在主机上创建它并将其复制到 gpu 内存 我成功地在内核中创建对象并调用虚拟方法 复制对象时会出现问题 这是有道理的 因为显然虚函数指针是假的 发生的事情只是 C
  • 如何在 MATLAB 中不排序而从 A 中删除集合 A 和 B 的交集?

    两个矩阵 A 和 B A 1 2 3 9 7 5 4 9 4 1 4 7 B 1 2 3 1 4 7 矩阵B的所有行都是矩阵A的成员 我希望从A中删除A和B的公共行而不排序 我尝试过 setdiff 但这对输出进行了排序 对于我的特殊问题
  • 在堆栈中搜索特定元素

    我对移植感兴趣这段Python代码到 C 作为端口的一部分 我正在使用std stack来自
  • 无法将“org.springframework.web.multipart.commons.CommonsMultipartFile”类型的值转换为所需类型

    我有以下控制器方法 RequestMapping value owner terminals save method RequestMethod POST public String saveTerminal RequestParam va
  • click() jquery 函数在新 div 上不可用

    在我的网站运行期间 我使用 jquery 和 a 类创建新的 div 我为 a 类定义了一个 click 函数 如下所示 document ready function a click function a hide 问题是 使用同一类创建
  • 如何以编程方式结束 2.3+ 上的通话?

    直到 Android 2 2 我知道我可以使用反射并通过 getITelephony 终止呼叫 但是 从 2 3 开始 这不再有效 因为即使您向应用程序授予 MODIFY PHONE STATE 权限 它现在也只是系统应用程序的权限 htt
  • 使用 Selenium + Python 循环链接并从结果页面中抓取数据[重复]

    这个问题在这里已经有答案了 我是 Selenium 的新手 需要抓取一个包含链接列表的网站 其结构如下 a class unique href i class something i Text span class something Te
  • 为什么 C 和 C++ 中 NULL 指针的定义不同?

    In C NULL定义为 void 0而在 C 中则是0 为什么会这样呢 在C中我可以理解如果NULL不是类型转换为 void 那么编译器可能 可能不会生成警告 除了这个 还有什么原因吗 早在 C 03 中 ISO 规范 4 10 1 将空
  • 如何更改通过 WindowManager 添加的窗口的 z 顺序?

    是否可以指定每个窗口的 z 顺序 在下图中 每个 editText 都位于通过 WindowManager 添加的自己的窗口中 正如你所看到的 我有一个 z 顺序问题 就像你在图片上看到的那样最后添加的窗口接缝采用更高的 z 顺序 因此 我
  • 在 Linux 上安装 PyQt5 5.14.1

    pip3 install PyQt5 Collecting PyQt5 Using cached https files pythonhosted org packages 3a fb eb51731f2dc7c22d8e1a63ba88f
  • 设置捆绑值返回 nil

    我向我的应用程序添加了一个 设置 包 在 Xcode 中 它出现在我的项目树视图的根目录中 The Root plist文件看起来像这样
  • 可以对 Julia 代码进行逐行分析吗?

    我有一些长达数百行的 Julia 函数 我想对其进行分析 以便我可以优化代码 我知道基准测试工具包允许使用以下命令测量函数的总体执行时间和内存消耗 btime or benchmark 但这些函数没有告诉我函数内部的瓶颈在哪里 因此 我的第
  • findall/3 在其结果列表中创建新的、不相关的变量

    permutation A B C Z Z A B C Z A C B Z B A C Z B C A Z C A B Z C B A false 说得通 我可以研究以下的排列 A B C 并且该排列包含与中相同的元素 A B C 所以我对
  • 如何禁止两个相互冲突的选项

    有没有办法向 Python 的 ArgumentParser 指定两个可选标志发生冲突 arg parser add argument c clean action store true arg parser add argument d
  • CallExpression 和 MemberExpression 之间的区别

    有什么不同 我看了ECMAScript规范 但不明白 真正的代码示例会有很大帮助 如果你能解释这里的每一行那就太好了 MemberExpression PrimaryExpression FunctionExpression MemberE
  • 检测有向图中循环的最佳算法[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 是否有一种有效的算法来检测有向图中的循环 我有一个有向图 表示需要执行的作业的时间表 作业是节点 依赖项是边 我需要检测该图中导致循环依赖的循环错误情况 Tarjan 的强连通分量算法 h