并查集
自己感觉并查集和链表的模型有点像,不过是改成都和头指针链接,类似于族谱一样。最直观的作用是用来分类,通过简单的关系判断进行分类,也只需要一次,就可以把关系全部理清。值得注意的是,虽然模型上面是首元素和其余元素全部连接起来,但是程序运行的时候其实还是按照原来的树状图的样子一个个找过来。大概,我觉得是这样吧。做过一次题POJ 2524的话,差不多可以理解简单的并查集。
把并查集稍微升级一下下的话,大概就是带权并查集吧。这玩意儿在一半并查集的基础上加上了一个value。emmmm。。。怎么说呢,感觉是更强调各个元素之间的关系。例题的话可以康康POJ 1182这题,可能自己太菜了吧,写了好久。题目的关键就是三种动物之间的关系怎么表达。要先想到选一只动物作为首元素,然后用其他动物和该动物的关系来表示自己所属的种族。之后比较关键的地方就是在使用并查集的时候,难免会碰到两个并查集的合并,这样会导致一个新的首元素的出现,如何改变下面元素的value就成了关键。不知道这题是故意这样设置还是说这种题目有类似的套路吧,用特定的计算可以用0,1,2来表示三个种族的关系以及方便改变对应的关系。而且总感觉判断谎话真话这些东西大概的方向就是用并查集吧。。
不说了,之前的几个结构还没搞熟,找时间搞搞吧。