首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >了解快速FInd算法的步骤?

了解快速FInd算法的步骤?
EN

Stack Overflow用户
提问于 2014-06-10 04:20:50
回答 1查看 76关注 0票数 0

我的目标是手动写出快速查找算法的步骤,以充分理解这个概念。我的问题是,我不理解决定是否检查两个对象是否连接的顺序。我指的是普林斯顿大学对我发现的这个算法的解释:http://www.cs.princeton.edu/~rs/AlgsDS07/01UnionFind.pdf

为什么要决定检查id3和id6是否相等?

这可能是错误的方法,但我想使用算法来通过比方说6个联合步骤来形成一个集合。

为此,我将使用以下集合和联合步骤...

代码语言:javascript
运行
复制
[0,1,2,3,4,5,6,7,8,9]

9-0 4-6 2-1 7-6 2-3 4-9

步骤1:9-0

代码语言:javascript
运行
复制
[0,1,2,3,4,5,6,7,8,0]

步骤2:4-6

代码语言:javascript
运行
复制
[0,1,2,3,6,5,6,7,8,0]

步骤3:2-1

代码语言:javascript
运行
复制
[0,1,1,3,6,5,6,7,8,0]

第4步:7-6

代码语言:javascript
运行
复制
[0,1,1,3,6,5,6,6,8,0]

步骤5:2-3

代码语言:javascript
运行
复制
[0,3,3,3,6,5,6,6,8,0]

步骤6:4-9

代码语言:javascript
运行
复制
[0,3,3,3,0,5,0,0,8,0]

有人能确认或否认这一点的正确使用吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-06-10 14:06:27

你对序列的解释是正确的。

Quick Find逻辑如下:

Find

检查p和q是否具有相同的id。

Union

要合并包含p和q的组件,请将具有idp的所有条目更改为idq

回答你的问题

为什么要决定检查id3和id6是否相等?

这是因为定义内部数组的方式。如果3和6具有相同的条目,则它们被定义为已连接的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24128328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档