为什么 DFS 和 BFS 的时间复杂度取决于图的表示方式?

2024-02-24

The site http://web.eecs.utk.edu/~huangj/CS302S04/notes/graph-searching.html http://web.eecs.utk.edu/~huangj/CS302S04/notes/graph-searching.html describes that when an adjacency list is used then, DFS and BFS have complexity O(V+E), and if an adjacency matrix is used, the complexity is O(V2). Why is this?


In both cases, the runtime depends on how long it takes to iterate across the outgoing edges of a given node. With an adjacency list, the runtime is directly proportional to the number of outgoing edges. Since each node is visited once, the cost is the number of nodes plus the number of edges, which is O(m + n). With am adjacency matrix, the time required to find all outgoing edges is O(n) because all n columns in the row for a node must be inspected. Summing up across all n nodes, this works out to O(n2).

希望这可以帮助!

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

为什么 DFS 和 BFS 的时间复杂度取决于图的表示方式? 的相关文章

  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse
  • 没有 OAuth 的 Spring Security JWT

    最近我开始学习如何使用oauth 2 0 jwt配置spring boot 我有一个问题 是否可以使用spring boot security jwt避免oauth 2 0 是的 可以使用JWT无需使用标准化的功能OAuth 2 0 flo
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not
  • ngmodel与Angular2中复选框的动态数组绑定

    我有一个 Angular 2 组件 其中我从数组生成复选框列表 现在我需要根据选中的复选框填充不同的数组 这应该是双向绑定 这意味着如果复选框的值已在数组中 则必须已经检查了复选框 我在 Angular 1 中使用了一个名为 checkli
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d
  • 带显示块的SPAN

    和默认有什么区别 div 元素和默认值 span 元素与display block HTML 元素的有效性和语义存在差异 否则它们是相同的 div and span两者都被定义为通用容器 在 HTML 方面没有更深层次的含义 一个默认为块显
  • 自定义 Visual Studio 2008 中的位置栏

    有人成功定制了 VS 2008 的 Places Bar 吗 我从 VS 2005 进行的自定义设置并没有转移到 2008 显然 并且无论我如何处理注册表 我都无法使我的自定义位置出现在 打开 对话框中 我已经阅读并应用了相关的MS KB文
  • 从 Azure 应用服务连接到 MongoDB Atlas 集群

    我在 Azure 上有一个 Web 应用程序 它连接到 Atlas cloud mongodb com 上托管的 MongoDB 集群 我想使用 Atlas 这样我就不必关心 MongoDb 配置 问题是我的集群连接超时 我必须在我的 mo
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检
  • 使用泛型全面实现特征

    我正在通过实现矩阵数学来练习 Rust 但遇到了一些障碍 我定义了我认为与矩阵相关的特征 trait Matrix
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function
  • android ndk 硬件调试内存

    背景 我对 C 很有经验 对 Android 和 Java 还很陌生 但这是编程的环境问题 我已经用 ANSI C 开发了一个管理应用程序 可以移植到任何操作系统 只需在依赖于操作系统的代码中添加 UI 即可 它使用相当多的内存 特别是对于

随机推荐

  • 连续按下视图控制器时缺少导航或后退按钮标题

    我有一个问题UINavigationController当连续推动视图控制器时 有关信息 我使用 XCode 7 0 针对 iOS 8 进行构建 并在 Simulator 9 0 上运行应用程序 这是用户手动点击表格视图单元格时的视图 如上
  • 使用 concat() 将行附加到数据框

    我定义了一个空数据框 df pd DataFrame columns Name Weight Sample 并想要在 for 循环中追加行 如下所示 for key in my dict row Name key Weight wg Sam
  • 子类是否应该调用直接超类中指定的初始值设定项?

    我看到了一些示例代码 这让我想知道如何在超类中调用指定的初始值设定项 假设我有一些代码 interface NewTableViewCell UITableViewCell end implementation NewTableViewCe
  • Google 是否允许其他人使用他们的“您是说”API 吗?

    我查遍了互联网 但没有找到确切的API 我想在我自己的网站上使用他们的 你的意思是吗 功能 Pygoogle 有一个 api 调用 http pygoogle sourceforge net dist doc public google m
  • Magento Memcached 会话

    我目前正在尝试使用以下设置为 Magento 设置生产环境 2 个 Web 服务器 1 个数据库服务器 负载均衡器 因此 负载均衡器将在 Web 服务器之间分配流量 但不会使用粘性会话 为了解决服务器之间共享会话的问题 我选择使用 Memc
  • Tensorflow 2.1 满内存和 tf.function 被调用两次

    我正在使用 Tensorflow 2 1 开发卷积自动编码器 这是代码 class ConvAutoencoder def init self input shape latent dim self input shape input sh
  • 关闭选项菜单不起作用?

    我只想使用以下代码在特定选项卡中显示选项菜单 public class MainActivity extends FragmentActivity implements ActionBar TabListener The link andr
  • 在android studio中将Unity场景显示为子视图

    我对在 android studio 项目中显示 3D 模型和图形有点困惑 我一直在与Rajawali https github com Rajawali Rajawali 这是一个 Android OpenGL ES 2 0 3 0 引擎
  • 找出重复数字的重复次数

    这是我和朋友们一起写的算法 在 stackoverflow 网站上 该算法将仅找到第一个重复的数字并返回它 这适用于O n 我想完成这个算法 帮助我通过重复获得重复的数字 认为我有 1 1 3 0 5 1 5 我希望这个算法返回2重复的数字
  • 从聚合返回整个文档

    我使用以下查询来获取数据库中每篇文章的最新评论 db comments aggregate match post id in ObjectId 52c5ce24dca32d32740c1435 ObjectId 52c5ce24dca32d
  • jRails 与原型

    我并不是想让这个问题成为一个偏好问题 我真的想知道人们使用 jQuery 和 Rails 或 jRails 进行开发的经验如何 到目前为止 包括我在内的大多数 Rails 用户都在使用 Prototype 然而 我混合了很多 jQuery
  • “iframe沙箱”技术安全吗?

    Update 由于这个问题没有答案 我稍微改变一下问题 下面链接的 Dean 博客上的帖子评论表明该技术在 Safari 中不起作用 我现在的问题是 下面描述的技术在现代浏览器中是否有效 特别是有人可以确认它是否在 Safari 中有效 这
  • 原始资源与 SQLite 数据库

    我正在创建一个应用程序 它将使用大量数据 无论出于何种意图和目的 这些数据都是静态的 我原以为使用 SQLite 数据库来处理该数据是最有意义的 我想知道仅使用 XML 文件然后将其作为原始资源访问是否有意义 请记住 可能会有大量数据 大约
  • Apollo Server - 关于缓存/数据源选项的混淆

    文档 https www apollographql com docs apollo server features data sources html Using Memcached Redis as a cache storage ba
  • “向您的机器人发送此消息时出错:HTTP 状态代码未找到”

    我用 C 创建了一个机器人并部署了它 但我不断收到错误代码NotFound或者在模拟器 404 中测试时 该机器人在测试时在本地工作得很好 但在部署时却失败了 我用 Composer 创建了一个机器人 它做同样的事情 在本地工作 但在部署到
  • 模拟角度服务类属性或变量

    我正在对一个角度应用程序进行单元测试 并且有一个我需要模拟的服务 我能够毫无问题地模拟服务方法 但是当我尝试以相同的方式模拟属性时 它会给我错误 我的配置服务有一个属性和一种方法 我想模 拟该属性 因为我无法生成该值 Service Inj
  • 如何解决 bazel“未声明的包含”错误?

    我是 bazel 新手 并且无法使用以下命令构建我的 C 包 错误 path to package BUILD linenumber 1 规则 path to package name 中未声明包含内容 此规则缺少 path to pack
  • 支持为自动调整 TextView 大小添加库

    我对在 Android Studio 中添加正确的支持库以便能够使用 AutoSizing TextViews 感到困惑 https developer android com guide topics ui look and feel a
  • 检查控制是否需要调用的函数中的 InvalidAsynchronousStateException

    我使用 Stack Overflow 用户提供的这个函数来更新控件BackgroundWorker static void SynchronizedInvoke ISynchronizeInvoke sync Action action I
  • 为什么 DFS 和 BFS 的时间复杂度取决于图的表示方式?

    The site http web eecs utk edu huangj CS302S04 notes graph searching html http web eecs utk edu huangj CS302S04 notes gr