#38841: 併查集


hshua (hshua)

學校 : 新北市立林口高級中學
編號 : 52506
來源 : [125.228.147.181]
最後登入時間 :
2025-07-10 20:33:08

以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對

int find(m-1, m) { return ( A[m] < A[m-1] ?  m-1 :  find(par[m-1], m) );  }

 

#38842: Re: 併查集


hshua (hshua)

學校 : 新北市立林口高級中學
編號 : 52506
來源 : [125.228.147.181]
最後登入時間 :
2025-07-10 20:33:08

以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對

int find(m-1, m) { return ( A[m] > A[m-1] ?  m-1 :  find(par[m-1], m) );  }      (寫錯了! 修正 ^===^)

 



#38844: Re: 併查集


hshua (hshua)

學校 : 新北市立林口高級中學
編號 : 52506
來源 : [125.228.147.181]
最後登入時間 :
2025-07-10 20:33:08

以a[7]=2為例,因為2<3,所以直接跳到 par[6] 項繼續比對

int find(m-1, m) { return ( A[m] > A[m-1] ?  m-1 :  find(par[m-1], m) );  }      (寫錯了! 修正 ^===^)

 



int find(int a, int b) { return ( A[b] > A[a] ?  a  :  find(par[a], b) );  }      (又寫錯了! 再修正 ^==============^)