123
返回列表 发新帖
楼主: shuatizhe
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] Number of Islands那道题用Union Find的优点在哪?比起BFS

全局:
今天专门去看了眼number of islands ii, 还是得用union find 做. 做的最快那个熏呆确实做得挺好的.. 用1d array找爸爸

number of islands 1 是体现不出 dfs 和 ufds的差别的, 所以也问不出个所以然来..
回复

使用道具 举报

🔗
monsoonle 2018-7-11 14:51:53 | 只看该作者
全局:
这种搜索题DFS/BFS都能做,但是这两种方式其实都把路径给一起算了,题目本身并没有要求知道路径,只要知道一个连通性就够了,所以UF的价值在这里,而且UF一集合好,一查就完了,不太容易出错。。
回复

使用道具 举报

🔗
blue_epoch 2019-9-24 06:54:00 | 只看该作者
全局:
pxu 发表于 2018-6-11 10:59
我不知道dfs怎么解决,用island1的思路去做超时了。
uf不会忘了是指我记得UnionFind Class怎么写,这部分 ...

感谢分享~
但是如果加之前加过的点(比如[[0,0],[0,1],[1,2],[1,2]])需要额外处理一下,在你的代码基础上加上:
if (grid[p[0]][p[1]] == 1) {
               res.add(res.get(res.size() - 1));
               continue;
           }
就可以AC了。
回复

使用道具 举报

🔗
X88 2019-9-24 10:39:59 | 只看该作者
全局:
我请教过高手,告诉我这样:dfs能做的通常先用dfs,一般速度路略快。有的题dfs不行,必须bfs。uf对特殊问题效率高(比如island 2里cell不断地增加),uf只需对付新增的部分即可,对付这些问题就要用uf.

评分

参与人数 1大米 +3 收起 理由
pxu + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
想请教一下,像这种搜索matrix的题目,如果说给的1 都是很接近彼此,而不是分散在matrix里,那是不是用bfs比较好?有没有同学可以解释一下像这种搜索的题目,什么时候用bfs,或者dfs比较好? 谢谢!
回复

使用道具 举报

🔗
miitac 2020-9-24 05:14:15 来自APP | 只看该作者
全局:
X88 发表于 2019-09-23 19:39:59
我请教过高手,告诉我这样:dfs能做的通常先用dfs,一般速度路略快。有的题dfs不行,必须bfs。uf对特殊问题效率高(比如island 2里cell不断地增加),uf只需对付新增的部分即可,对付这
怎么觉得应该先优先bfs > dfs,因为可以提前退出,尤其是找最短路径之类的
回复

使用道具 举报

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

本版积分规则

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