- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
首先是一些定义:“累积图”是后来添加边的图。主题是方向问题(使无向图有向),我们的目标是使最大出度尽可能低。
现在,他们给出了这样的算法:“当添加边 (u,v) 时,我们将从出度较低的顶点指向较高的顶点。如果相等,则随机选择。”
例如,如果 outdegree(u) = 3 且 outdegree(v) = 4,并且我们刚刚添加 (u,v),则算法将从 u-->v 引导它。如果出度相等,则u,v和v,u都是可能的。
问题是为可能的最大出度证明 O(log n) 的上限。第二个问题是形成一个图,其中该算法将导致 Omega(log n) 最大出度。
到目前为止,我只能指出这个问题是错误的。
首先,我的 friend 建议他们实际上是指 O(log m) [m = # of edges],因为对于无向图中的 n 个顶点,我们最多有 n(n-1)/2 条边,最终为 O(n^2)。如果我们假设在一个完整的图中,每个节点的出度是 log(n),我们得到总计 n*log(n) 出度,这明显小于 n^2(并且没有意义,因为所有出度应该相加到边数。)。
我想出了这个算法,它证明了因为我们在两者相等的情况下随机选择,所以最大可能的出度是 O(n):将 n-1 个顶点指向最后一个顶点(可能在所有方向都在同一方向的最坏情况下)。我们现在有 n-1 个顶点出度为 1,1 个顶点出度为 0。然后递归重复以完成 n+(n-1)+(n-2)+...+1+0 出度。
我可能对问题的理解有误,但这就是我目前的理解。
编辑:讲师编辑了问题并说这个问题中的图形是森林(这意味着您最多可以有 V-1 条边)。我相信我设法证明了第一个问题:
想象一下:由于出度为 2 的唯一方法(最坏情况)是连接两个出度为 1 的节点,我们必须有 4 个节点,其中 A 连接到 B,C 连接到 D为了从 A 到 C 添加一条边,并使其中一个的出度为 2。因为这是可能创建出度为 2 的最小树,所以创建出度为 3 的唯一方法是构建两棵相同的树并再次将它们连接在一起。如果我们重复这个过程直到我们到达 n 个顶点,我们会注意到我们最终得到 1+2+4+8+...+log n 作为我们的出度。
目前我一直在思考第二个问题。
最佳答案
首先,因为 m = O(n^2),所以我们有 O(log m) = O(log n^2) = O(2 * log(n)) = O(log n)。换句话说,这个问题与你 friend 提出的推理并不矛盾。
但是您是对的,问题(如您所述)是不正确的——使用您描述的过程,最坏情况下的出度是 O(n)。 (但是最高出度是n-1,不是你写的n。)
也许问题实际上要求您限制最大预期出度?
关于algorithm - 证明无向图由该算法转化为有向图的最大出度的上界O(log n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50728655/
目标:我想在设备上安装我的应用程序时从 iTunes 链接中获取我的自定义参数(引荐来源网址)。 iTunes 链接看起来像这样: https://itunes.apple.com/in/app/co
三维数据的获取方式 RGBD相机和深度图 代码展示:在pcl中,把点云转为深度图,并保存和可视化 三维数据的获取方式 在计算机视觉和遥感领域,点云可以通过四种主要的技术获得, (1)根据图像衍生而得,
这是拍摄 out of context所以看起来有点奇怪,但我有以下数据结构: use std::marker::PhantomData; pub struct Map { data: Vec
如何在用户注册时事通讯时运行此跟踪代码? var google_conversion_id = xxxxxx; var google_conversion_language = "e
对于我们的招聘网站,我们为每个与员工编号相关的员工提供了唯一的URL。然后,他们可以将其唯一的URL分配给其个性化页面。想知道是否有一种简单/最佳的方法来跟踪每个员工的表单生成的提交数量。即Todd通
网站 Saritias 情况 我的客户希望跟踪 Google Adwords 转化情况。当客户点击广告、访问网站,然后使用第 3 方预订小部件 ( ResDiary ) 预订餐 table 时,即可实
在我的 react PWA 上,我想在发送表单数据之后跟踪 Google Adwords 中的转化。我已经使用 react-ga 模块来跟踪使用 UA-xxxxxx 编号的页面浏览量。现在我有一个 A
不知道你是否能帮忙。 我们有一个电子商务网站。我们与 PayPal 和 WorldPay 集成进行付款,并将 secure.worldpay.com 和 paypal.com 添加到 Analytic
所以我已经安装了 Google Analytics,现在我想跟踪转化,但我希望转化代码仅在用户来自特定来源/媒介时运行,并忽略其余部分。可能吗? 最佳答案 您可以在分析过程中使用过滤器和/或分段来隔离
我想在同一页面上跟踪 2 个不同的 onclick 转化。 Google 的示例跟踪代码如下所示: /* */ 示例 onclick 代码如下所示: DO
我有一个 VueJS 应用程序,用户在其中提交表单。使用 Vue-resource 将数据发送到服务器。我需要告诉 Google 这是一次转换。 Google 给我的是一个脚本,告诉我放入“thank
我是一名优秀的程序员,十分优秀!