- packagecom.eshore.sweetop.exdataframe;
- publicclassDisjointSetForest{
- publicvoidmakeSet(DisjointSetNodenode){
- node.setParent(node);
- node.setRank(0);
- }
- publicvoidlink(DisjointSetNodenodex,DisjointSetNodenodey){
- if(nodex.getRank()>nodey.getRank()){
- nodey.setParent(nodex);
- }else{
- nodex.setParent(nodey);
- if(nodex.getRank()==nodey.getRank()){
- nodey.setRank(nodey.getRank()+1);
- }
- }
- }
- publicvoidunion(DisjointSetNodenodex,DisjointSetNodenodey){
- link(findSet(nodex),findSet(nodey));
- }
- publicDisjointSetNodefindSet(DisjointSetNodenodex){
- if(nodex!=nodex.getParent()){
- nodex.setParent(findSet(nodex.getParent()));
- }
- returnnodex.getParent();
- }
- }
算法之不相交集合森林
最新推荐文章于 2023-06-13 21:48:09 发布