查看: 1077| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 一道有点疑惑的关于横叉边的简答题

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
题目:通过深度优先搜索算法生成有向图的DFS树,是否有可能存在横叉边数目等于Ω(n^2)的情况?

感觉网上横叉边的资料特别少。。。不知有没有朋友可以解答的?非常感谢!

上一篇:请教大家一道关于邻接链表的算法题
下一篇:两个array里面找第k大
🔗
magicsets 2020-1-27 06:42:14 | 只看该作者
全局:
考虑一个有n + 1个节点的有向图,其中

点集 V = { 0 .. n }
边集 E = { <0, t> | 1 <= t <= n } U { <s, t> | 1 <= t < s <= n }

也就是从0号点出发到其他点各添加一条边,然后其它点只有通往比自己小的节点的边。

那么如果DFS算法是按0 -> 1 -> ... -> n的顺序枚举节点,易知DFS树的高度只有2,也就是0号点为树根,1 .. n依次都是0号点的子节点。

cross edge的数量为0 + 1 + ... + (n - 1) = O(n^2)
回复

使用道具 举报

🔗
 楼主| milkkkmillkk 2020-1-27 06:58:55 | 只看该作者
全局:
本帖最后由 milkkkmillkk 于 2020-1-27 06:59 编辑
magicsets 发表于 2020-1-27 06:42
考虑一个有n + 1个节点的有向图,其中

点集 V = { 0 .. n }

非常感谢回答!!所以cross edge最多只能是O(n^2),不能是Ω(n^2)吗?还是说也可算作Ω(n^2)呢?
回复

使用道具 举报

🔗
magicsets 2020-1-27 13:17:59 | 只看该作者
全局:
milkkkmillkk 发表于 2020-1-27 06:58
非常感谢回答!!所以cross edge最多只能是O(n^2),不能是Ω(n^2)吗?还是说也可算作Ω(n^2)呢?

是的,最后一个累加式子的结果是n * (n - 1) / 2,准确来说是确界Θ(n^2),其满足上界O(n^2)也满足下界Ω(n^2)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表