쿼리 집합의 경로 압축 (귀속 및 비귀속)

1423 단어
   。 , 。

// 

find (int x)
{
 while(x!=father[x])
  father[x] = find(father[x]) ;
 return father[x] ;
}

// 

find (int x)
{
 int r = x ;
 while(r != father[r])// r 
  r = father[r] ;
 int k = x ;

 while(k!father[k])
 {
  
   father[k] = r ;
   k = father[x] ;
   x = k ;
 
 } 
}

 

 

 
다음으로 전송:https://www.cnblogs.com/0307jtx/p/3879871.html

좋은 웹페이지 즐겨찾기