Fork me on GitHub

2017年6月13日

路径压缩

摘要: siwuxie095 路径压缩 基于 size 的优化和基于 rank 的优化,主要都是针对 Union 操作 的优化,实际上,Find 操作其实也是可以优化的 Find 操作就是从一个节点开始,通过它的指向父亲的指针,不断 向上追溯,直至根节点,也就是寻找根的过程 在这个过程中,其实已经将从这个节 阅读全文

posted @ 2017-06-13 17:32 siwuxie095 阅读(1209) 评论(1) 推荐(1) 编辑

基于rank的优化

摘要: ------------------siwuxie095 基于 rank 的优化 基于 size 的优化,在大多数情况下,都能让生成的树的层数更少, 从而使得查询的时间更短,但仍有少数情况不是这样,如下: 现在要将 4 和 2 这两个元素并在一起,4 对应的根是 8,2 对应的根是 7, 其中: 8... 阅读全文

posted @ 2017-06-13 16:24 siwuxie095 阅读(389) 评论(0) 推荐(0) 编辑

基于size的优化

摘要: ----------------------siwuxie095 基于 size 的优化 在 union( p , q ) 的时候,因为总是将第一个元素的根节点指向第二个元素 的根节点,就有可能让整棵树变的很高,导致 find( p ) 更耗时 解决方案:不应该固定的将一个元素的根节点指向另外一个元素的根节点,... 阅读全文

posted @ 2017-06-13 16:14 siwuxie095 阅读(183) 评论(0) 推荐(0) 编辑

Quick Union

摘要: -----------------siwuxie095 Quick Union 这里介绍并查集的另外一种实现思路:Quick Union 这种实现思路通常是并查集的常规实现思路,而且它的时间效率非常高 具体表示:将每一个元素,都看做是一个节点 不过这个节点和树中的节点稍有不同,树中节点的指针是指... 阅读全文

posted @ 2017-06-13 16:06 siwuxie095 阅读(235) 评论(0) 推荐(0) 编辑

Quick Find

摘要: --------------------siwuxie095 Quick Find 这里介绍并查集的一种实现思路:Quick Find 对于一组数据,并查集主要支持两个操作: (1)union( p , q ),即 并,将 p 和 q 两个元素合并在一起,也就是所谓的连接 (2)find( p ),... 阅读全文

posted @ 2017-06-13 15:54 siwuxie095 阅读(263) 评论(0) 推荐(0) 编辑

并查集

摘要: -----------------siwuxie095 并查集基础 这里介绍并查集(Union Find),它是一种很不一样的树形结构 并查集的作用:可以非常高效地回答连接问题 「连接问题,即 Connection Problem」 首先简单的采用可视化的方式来看连接问题,如... 阅读全文

posted @ 2017-06-13 00:40 siwuxie095 阅读(149) 评论(0) 推荐(0) 编辑

导航