摘要: 并查集者,并也,查也,统统归于集合也。即其是关于集合的操作——并,查。所以并查集的关键也就是对集合的合并与对元素的查找,查找某一元素属于哪个集合。一般情况下定义一个数组flag[](数组真是太有用了),用来记录每个元素所属的集合。当然如果用一般情况去查或是合并元素,find()与merge()两个函数的复杂度为n。看起来时间复杂度并不大,但这里我们还可以进行改进,就是利用树结构。如果flag[i]= i//i就是这个树的跟 如果flag[i]=j且i<>j j就是i的父节点 根据这个思想完成find()与merge()函数int find(int x){ int r; r=x; . 阅读全文
posted @ 2011-11-08 09:03 orangeblog 阅读(1205) 评论(1) 推荐(0) 编辑