LeetCode Union-Find(并查集) 专题(一)
前言:
写这个专题本意还是和之前一样 ,一篇一篇写博客写的腻了。来个专题换换感觉。(手动滑稽
好吧其实是觉得并查集是一个比较实用的数据结构。 之前听老师在课上提到过一次, 在那之前很早就听过这个, 也是一只因为懒没去真正了解。 趁着这两天空闲时间把它熟悉了一下, 发现并不难。(难度和二分查找的变式差不多吧)
下面进入正题。
并查集 Union-Find 简介
并查集是什么
并查集就是像它名字说的那样, 为了实现快速合并(Union)以及查找 (Find)操作的数据结构。
其实到这儿就完了。 为了说清楚, 再说详细一些。
首先考虑查找,查找复杂度最低的数据结构是? HashMap 几乎是肯定的。 除了这个呢? Set,BBST 都是对数级别的复杂度的(内部都是用的红黑树实现的吧没记错的话)。 HashMap 实现合并几乎是不可能的(本身几乎没有组织形式, 要合并起来至少复杂度得要 O(n) 级别吧。其他的, 树的合并, 复杂度倒是只有 O<