标签:如何 temp int span 父节点 div roo 直接 迭代
我们知道,递归版路径压缩的实质就是在回溯过程中把沿途出现的爸爸变成兄弟,最终由N代同堂变成二代同堂。
所以我们可以利用这样的方法写出非递归路径压缩。
首先要找到根节点root,然后从当前位置出发寻找根节点,沿途得到的父亲节点father全部直接指向根节点。
如何得到沿途的父节点呢?当然是迭代啦!
1 int find(int d) 2 { 3 int now,temp,root; 4 5 root=d; 6 while(root!=father[root]) 7 { 8 root=father[root]; 9 } 10 now=d; 11 while(now!=root) 12 { 13 temp=father[now]; 14 father[now]=root; 15 now=temp; 16 } 17 return root; 18 }
标签:如何 temp int span 父节点 div roo 直接 迭代
原文地址:https://www.cnblogs.com/kgmfgm35/p/12207711.html