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

[树/链表/图] 图的边权值都在1到n的整数范围内,设计O(n(V+E))算法来找出最小生成树

全局:

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

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

x
V代表点,E代表边,假设一个图的边权值都在1到n的整数范围内,如何设计出一种O(n(V+E))的算法来找出这个图的最小生成树呢?因为要找的算法是O(n(V+E)),所以传统的kruskal和prim's不符合这个时间复杂度。有没有什么算法思路可以用O(n(V+E))来找最小生成树呢?非常感谢!!!

上一篇:想知道大家怎么debug leetcode??
下一篇:感觉网上刷题和找工作一直有很强的误导性
🔗
 楼主| ttt111223xx 2020-2-7 12:15:42 | 只看该作者
全局:
555555求解
回复

使用道具 举报

🔗
hcy226 2020-2-7 15:04:46 | 只看该作者
全局:
和kruskal一样的思想,用一个i枚举1-n,每次枚举所有边并找出其中权值为i的(如果硬要凑这个复杂度只能这么找了,其实有点傻),如果边i对应的两个点中有点没有加入生成树,就把这条边加入,否则pass。
回复

使用道具 举报

🔗
孙行者 2020-5-5 03:58:44 | 只看该作者
全局:
除非所有的边都已经排好序,否则没可能。
回复

使用道具 举报

全局:
孙行者 发表于 2020-5-5 03:58
除非所有的边都已经排好序,否则没可能。

权值都是1到n的话,可以countin sort,其实就是O(n)复杂度。。
回复

使用道具 举报

全局:
不知道楼主解决没有,prim其实每次都是拿最小的出来,因为你的权值是1到n,其实你可以用一个array之类的存下来每个权值等于i的边,然后依次处理就行了。类似于counting sort
回复

使用道具 举报

🔗
孙行者 2020-6-8 23:42:39 | 只看该作者
全局:
不知道小帅 发表于 2020-6-3 11:49
权值都是1到n的话,可以countin sort,其实就是O(n)复杂度。。

对啊!我咋就没审出这个关键?!牛啊!
回复

使用道具 举报

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

本版积分规则

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