2024考研王道计算机408数据结构+操作系统+计算机组成原理+计算机网络

2024考研计算机408数据结构+操作系统+计算机组成原理+计算机网络

lian接:https://pan.baidu.com/s/1qGO_e46IYSbhsaJBpzg-GQ?pwd=9zen
提qu码:9zen

这是我给大家整理的四零八中,并查集可能考察的地方。并查集作为二二考研中新增加的考点。不会考的特别难。我建议大家主要以基础和中级部分为主复习。高级和极难部分考察的可能性不大,特别是极难部分很难考察。首先,从基础部分开始并查集的原理。并塔集实际上是把每一个集合,用一个元素来代表这个集合。比如说水浒传中,梁山集团它的代表元素就是宋江,所有人都认宋江为大哥。那这个一号大哥就是集合中的代表元素,

宋江就是梁山,梁山就是宋江。并查集的应用。首先并查集可以用来判断连通性和判环。并查集如何判断连通性呢?对于每一个节点。我们都可以找到它所在集合中的代表元素。如果所有结点所在集合中的代表元素都一样,那是不是说明它们都在同一个集合?那就说明这个图是连通的。然后接下来讨论一下判缓。判还。可以一条一条边往这个图里面加。当我们加入一条边的时候,这条边所连接的两个顶点。

我们判断一下它们是否在同一个集合中,如果在同一个集合中。说明这两个点之间本来就有一条路径。那这个时候我们再加入这条边,是不是它就会形成一个环?比如说这两个顶点。AB.CA和b之间已经有一条路径了,接下来我们还需要加入一条边AB。加入的时候判断a和b是否在同一个集合中。这里加入之前a和b是不是已经在同一个集合了?a cb都在同一个集合。那加入之后。它一定会成为一个环,因为加入之前就可以有a ccb这一条路径,

加入之后会得到另一条路径。那就会形成一个环。所以病残疾可以用来判还。注意一下,这里的判连通性和判环都是对于无相图而言的。然后是克鲁斯卡尔算法,克鲁斯卡尔算法就等于并查集。克鲁斯卡尔算法是两个过程,首先把所有编排序,然后进行并查集。它之所以可以用到并查集,因为并查集可以用来判断是否成环。我们注意一下克鲁斯卡尔算法,它是最小生成树算法,最小生成树,

我们要防止出现环。所以我们就使用并查集来判断我们加入这条边之后是否会形成一个环,如果不会形成这个环。我们就可以加入这条边,如果会形成环,就不能加入这条边。这就是冰茶机的应用。接下来是冰条姐的操作。他有两个操作。查询和合并。查询是判断两个点是否在同一个集合中。合并是将两个点所在的集合合并。那么,我们在合并之前,需要先对这两个点进行查询。

看它们两个点是不是在一个集合?如果它们不在一个集合,那就将这两个集合合并。接着是并叉集的存储方式。首先逻辑上。逻辑上,它是采用双清表示法存储的数。实际的物理存储中是采用顺序的数组形式。为什么它需要用双亲表示法呢?因为我们只需要知道这个顶点所在,集合的代表元素。不需要知道他有哪些儿子,哪些孙子这些。我们一般都会选取。这个集合的根,

也就是每一个集合,它其实是一个生成树。我们找到每一个集合的根,然后把它当做代表元素,每一个节点都找到自己的双亲,这样的话就能够找到。该结点所在集合的根。接下来是终极部分。首先是模拟并调节的操作。它有两种可能的触法,第一种是判断两个点是否在同一个集合,第二种是判断还剩几个集合。我们需要做的就是对这个操作一步一步的进行模拟。只需要细心,就能够把握这部分。

然后是高级部分,就是想考130分以上的同学。B超级的时间复杂度,大家可以记忆一下。翻译的操作。是和树高有关系的。优化前。如果这个集合中有m个元素,最坏的数高就是m。而union就是合并它的时间复杂度是o1的。然后总复杂度。对于一个图,如果有m条边。那优化前的总复杂度应该是m的平方。优化后,

根据算法导论中的介绍,应该是om的复杂度。然后有一个特别重要的点就是克鲁斯卡尔算法的时间复杂度。格鲁斯卡尔算法上面说了就是。排序加上并查集。这里并插集采用优化后的,所以是om那排序呢排序我们一般用快速排序才是最快的。快速排序,有m条边。我们是对边进行排序,那就是m log m,所以它的总时间复杂度应该是m log m。加上m。所以应该是om log m。这点一定要记住。

接下来是我不推荐大家复习的,这里打了一个感叹号。考察的可能性极小。首先是并查集的代码。只要写冰塔集,就一定要写优化。这里有两个优化。第一种是将小数合并到大数下。它的目的是为了不让树高增加的很快。而第二种优化是路径压缩。什么是路径压缩呢?就是本来比如说。本来这样一棵树,我们的目的是为了求得并查集每一个集合中的代表元素。当我们在查询的时候,

我们可以把它上面的每一个点都直接链接到顶点,也就是大哥中。比如说这一个点,我们可以直接把它链接到大格中。那最终就变成了这样一个。这样的话,竖高就变成二了,之前的竖高是三。所以这就是并插机的路径压缩优化。然后是克鲁斯卡尔算法的代码。我觉得它比并查集的代码还要重要一些。大家只要记住克鲁斯卡尔的过程即可。接下来是判还上面说了,并查集可以用来判还。其实也是克鲁斯卡尔代码中的一部分。

就整个极难的部分,我都不推荐大家复习。那这里就是四零八中,并查集可能考察的一个范围。希望大家能够有所取舍的复习这部分。

你可能感兴趣的:(考研,数据结构,计算机网络)