樹結構表示下集合的合併與元素的查詢

2021-04-06 13:03:02 字數 650 閱讀 4402

/*  樹結構表示下集合的合併與元素的查詢(此程式在win-tc1.9.1版下除錯通過)*/

#include "stdio.h"

#include "conio.h"

typedef struct

node,*set;

set s1[1],s2[1];  /*定義二個集合,初始化每集合中元素個數為1*/

void initset(set *s)

}void printset(set *s)    /*輸出集合中的元素*/

int find(set *s, int e)

printf("查詢成功!/n");

for(i=1;i<=-(s[1]->tag);i++) /*輸出使用壓縮規則後集合中的變化*/

printf("%d/t%d/n",s[i]->data,s[i]->tag);

return p;}}

printf("元素不在該集合中!/n");    /*查詢不成功*/

return -1;

}int union(int e1,int e2)

else

return sum;

}printf("兩個集合中不存在 %d 或%d /n",e1,e2);

return -1;

main()

並查集 元素的合併與刪除

一 問題描述 題目鏈結 有n個節點 1 n 100000 進行如下兩種操作 1 m a b,把a b合併 2 s a,把a分離出來 進行m 1 m 1000000 次操作,問最後有幾個組?二 解題思路 用並查集來實現,我們都知道並查集的合併操作很容易實現,而從集合中移出乙個元素卻很難。這樣想,移出元...

並查集(合併集合,查詢集合中的元素)

定義 合併集合 和 查詢集合中的元素 兩種操作的關於資料結構的一種演算法。演算法 用集合中的某個元素來代表這個集合,該元素稱為集合的代表元。乙個集合內的所有元素組織成以代表元為根的樹形結構。對於每乙個元素 parent x 指向x在樹形結構上的父親節點。如果x是根節點,則令parent x x。對於...

記錄一種把樹結構的物件全部取到乙個集合中的寫法

乙個樹結構的物件,層次不限.可使用者自定義增加 如 public class org在查詢的時候直接封裝成乙個樹結構.listlist this.sqlfind sb.tostring org.class,params.toarray 查詢出所有部門id listresult new arrayli...