《集合與字典》ppt課件

《集合與字典》ppt課件

ID:26981803

大?。?.38 MB

頁數(shù):138頁

時間:2018-11-30

《集合與字典》ppt課件_第1頁
《集合與字典》ppt課件_第2頁
《集合與字典》ppt課件_第3頁
《集合與字典》ppt課件_第4頁
《集合與字典》ppt課件_第5頁
資源描述:

《《集合與字典》ppt課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第六章集合與字典趙建華南京大學(xué)計算機系內(nèi)容集合及其表示并查集與等價類字典跳表散列集合的基本概念具有某種共同性質(zhì)”的若干不同的對象合在一起構(gòu)成集合。在算法與數(shù)據(jù)結(jié)構(gòu)中所遇到的集合中所有成員具有相同的數(shù)據(jù)類型。例如:colour={red,orange,yellow,green,black,blue,purple,white}一些說明作為數(shù)據(jù)結(jié)構(gòu)中的集合在概念上講,元素之間是無序的。但是可能為了效率,在實現(xiàn)中將元素之間的某個序關(guān)系和元素的存儲方式對應(yīng)起來;不同的表示方法:保存實際數(shù)據(jù)值保存下標(biāo)或者reference在父集中存放指示信息,表示是否在

2、子集合內(nèi)。允許相同元素多次出現(xiàn)的稱為多重集合或者包。集合的運算還包括:判斷一個元素是否在集合中集合是否為空A是否為B的子集以及添加/刪除元素等操作遍歷所以元素求滿足某個條件的所有元素組成的子集A?B或A+BA?B或A?BA-BAAABBB集合(Set)的抽象數(shù)據(jù)類型templateclassSet{public:virtualSet()=0;//構(gòu)造函數(shù)virtualmakeEmpty()=0;//置空集合virtualbooladdMember(constTx)=0;virtualbooldelMember(constTx)

3、=0;virtualSetintersectWith(Set&R)=0;//集合的交運算virtualSetunionWith(Set&R)=0;//集合的并運算virtualSetdifferenceFrom(Set&R)=0;//集合的差運算virtualboolContains(Tx)=0;virtualboolsubSet(Set&R)=0;virtualbooloperator==(Set&R)=0;//判集合是否相等};集合的位向量實現(xiàn)當(dāng)集合是全集合{0,1,2,…,n}的一個子集,

4、且n是不大的整數(shù)時,可用位(0,1)向量來實現(xiàn)集合。對于每個i,有一個二進位;取值1或0分別表示在集合與不在集合中。如果n小于32,可以直接用32位整數(shù)表示;否則可以使用整數(shù)數(shù)組表示。當(dāng)全集合是由有限個可枚舉的成員組成時,可建立全集合成員與整數(shù)0,1,2,…的一一對應(yīng)關(guān)系,然后用位向量來表示該集合的子集。如果全集用數(shù)組表示,那么其子集也可以用位向量表示。但是,此時需要保證全集不改變。位向量集合的類定義#include#includeconstintDefaultSize=50;classbitSet

5、{//用位向量來存儲集合元素,集合元素的范圍在0到//setSize-1之間。數(shù)組采用16位無符號短整數(shù)實現(xiàn)intsetSize;//集合大小intvecterSize;//位數(shù)組大小unsignedshort*bitVector;//bitVector[i]的第j位為0/1表示第i*16+j個元素是否在此集合內(nèi)。位向量集合的類定義(二)public:bitSet(intsz=DefaultSize);//構(gòu)造函數(shù)bitSet(constbitSet&R);//復(fù)制構(gòu)造函數(shù)~bitSet(){delete[]bitVector;}//析構(gòu)函數(shù)

6、intgetMember(constintx);//取集合元素xvoidputMember(constintx,intv);//改集合元素xvoidmakeEmpty(){//置空集合for(inti=0;i&operator=(constbitSet&R);bitSetoperator+(constb

7、itSet&R);bitSetoperator*(constbitSet&R);bitSetoperator-(constbitSet&R);boolContains(constintx);boolsubSet(bitSet&R);//判this是否R的子集booloperator==(bitSet&R);//判集合this與R相等friendistream&operator>>(istream&in,bitSet&R);//輸入friendostream&operator<<(ostream&out,bitSet&R);//輸出

8、}構(gòu)造函數(shù)的實現(xiàn)bitSet::bitSet(intsz):setSize(sz){//構(gòu)造函數(shù)assert(setSize>0);//檢查參數(shù)的合理性vector

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。