![華科數(shù)據(jù)結(jié)構(gòu)課件查找表由同一類型數(shù)據(jù)元素記錄組成集合_第1頁](http://file4.renrendoc.com/view/d59d9c7a7311596af0d44d002582b895/d59d9c7a7311596af0d44d002582b8951.gif)
![華科數(shù)據(jù)結(jié)構(gòu)課件查找表由同一類型數(shù)據(jù)元素記錄組成集合_第2頁](http://file4.renrendoc.com/view/d59d9c7a7311596af0d44d002582b895/d59d9c7a7311596af0d44d002582b8952.gif)
![華科數(shù)據(jù)結(jié)構(gòu)課件查找表由同一類型數(shù)據(jù)元素記錄組成集合_第3頁](http://file4.renrendoc.com/view/d59d9c7a7311596af0d44d002582b895/d59d9c7a7311596af0d44d002582b8953.gif)
![華科數(shù)據(jù)結(jié)構(gòu)課件查找表由同一類型數(shù)據(jù)元素記錄組成集合_第4頁](http://file4.renrendoc.com/view/d59d9c7a7311596af0d44d002582b895/d59d9c7a7311596af0d44d002582b8954.gif)
![華科數(shù)據(jù)結(jié)構(gòu)課件查找表由同一類型數(shù)據(jù)元素記錄組成集合_第5頁](http://file4.renrendoc.com/view/d59d9c7a7311596af0d44d002582b895/d59d9c7a7311596af0d44d002582b8955.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)
第九查找表由同一類型的數(shù)據(jù)元素(記錄)組成的集合。 男 男女 女1234n數(shù)據(jù)項(xiàng)
數(shù)據(jù)項(xiàng)
數(shù)據(jù)項(xiàng)關(guān)鍵字 可以標(biāo)識一個(gè)記錄的數(shù)據(jù)主關(guān)鍵字:次關(guān)鍵字:查 靜態(tài)查找:查詢某個(gè)特定的元素,檢查某個(gè)特定的數(shù)據(jù)元素的屬性,不新元素或刪除元素(記錄)。 動態(tài)查找:在查找過程中,同時(shí)查找表中不存靜態(tài)查找**那契查找法;插值查找法動態(tài)查找**BB+哈希(Hash)平均查找長 查找一個(gè)記錄時(shí)比較關(guān)鍵字次nASL=∑Pir[iCir[i0123監(jiān)視監(jiān)視 順序表與順序查找例1元素類型為記錄(結(jié)構(gòu))#definemaxsize100100typedefstructnode{keytypekeycharname[6];// }ElemType;typedefstruct{ElemTypeelem[maxsize+1];//maxsize+1//elem[0int}SSTable;SSTableST1,ST2;例2#definemaxsize100100typedefinemType;typedefstruct{ElemTypeelem[maxsize+1];//maxsize+1int}SSTable;SSTableST1,ST2;監(jiān)視6 maxsize順序查找法(sequentialsearchelem[n].key,elem[n-1].key,...,elem[i].key=k(1≤i≤n),intsequsearch(SSTableST,keytype{inti=ST.length;//從第nwhile(i>=1&&k!=Si ifprintf(”success\n”);//查找成功elseprintf(”fail\n”);//查找失敗return }算法2:假定使用監(jiān)視哨基本思想k=elem[i].key,(0≤i≤n),則停止比較。如果i>0,則查找成功;否則,查找失敗。intsequsearch(SSTableST,keytypek){inti=ST.length; while(k!=Sem[i].key)i return }3若查找成功:最少為1,最多為n即P1P2Pn=1/n
nn
= n in=1n
...使用監(jiān)視哨elem[0],不使用監(jiān)視哨elem[0],Pi=1/(2*n),則1 n+1 ASL=--∑Ci+---=---+---=3(n+1)/42ni=1 有序的順序表的查找與折半查找折半查找(binarysearch,對半查找,二分查找假定2↑2
↑ ↑
↑
5555lowmid假定55↑
↑
↑
5 5
5↑
↑
8↑
k=40(續(xù)5 5
lowmid5 5
lowmid5 5 5 ↑ 5low5 lowmid
5k=22(5 5midhig5 lowmid
5 5
midhig
hig<low,查找失3半查找算法intbinsrch(SSTableST,keytype{intlow,mid,hig;while(low<=hig){ if(k<S elseif(k==Sem[mid].key) elselow=mid+1;//查右子表}if(Sprintf("success\n”return}{ return}}折半查找算法intbinsrch(SSTableST,keytype{intlow,mid,hig;low=1;hig=ST.length;while{if(k<Sem[mid].key)hig=mid-1;//查左子表elseif(k==Sem[mid].key)returnmid; elselow=mid+1; }return0 }63984263984267911n=15,滿二叉
n=12,非滿二叉若n=2k1,則判定樹為滿二叉樹,其深度為假定Pi=1/n(i=1,2,...,n),比較關(guān)鍵字的次數(shù):ASL=--- ASL=--- n 設(shè)n=15ASL=------log2(15+1)- 對任意的ASL≈----log2(n+1)-1=O(log2n) 設(shè)n=12,ASL=-----------------------=--≈6399-6399-6-3--639 1-2-6391-2--5-7-8-10-n=12,判定
n=11,加外部結(jié)點(diǎn)的判定第一第二第四
key它數(shù)據(jù)索引23456789分塊
首地址大1234分塊表"按塊有序",索引表"按key有序"查找方法與確定kASL(1)=Lb=--2ASL(2)=Lw=--2 ASL=Lb+Lw=---+---=--(b+s)+1=--(--+ ASLmin=√n+1=O(√n二叉排序樹(二叉查找樹(1如果二叉樹的任一結(jié)點(diǎn)大于其非空左的所有結(jié)點(diǎn),而小于其非空右的所有結(jié)點(diǎn),則這棵二叉樹稱為二叉排序樹。85853885
(2)設(shè)輸入序列為44 課堂練習(xí)55 ASL=---------------------=--≈ (3)二叉排序樹的結(jié)左 右struct{{intkey }datastructnode*lchild,*rchild;//左右的指}(4)1個(gè)元素到二叉排序樹的算structnode*intree(structnode*emType{if {t=(structnode*)malloc(sizeof(structnode)); t->lchild=t->rchild=NULL;//為葉子結(jié)點(diǎn)}elseif(x.key<t-return}二叉排序樹的(返回值失?。篘ULL成功:非NULL,結(jié)點(diǎn)指針遞歸算structnode*search_tr(structnode*tkeytype{if(t==NULL)returnNULL; if(k==t-returntif(k<t-returnsearch_tr(t->lchild,k);//查左returnsearch_tr(t->rchild,k);}非遞歸算structnode*search_tree(structnode*t,keytype{whileif(k==t-returnt; if(k<t- return }算法分最好情況(為滿二叉樹ASL=---log2(n+1)-1=O(log2n情況平均值 ASL≈O(log245606575滿二叉 單枝ASL=(15+1)/15*log2(15+1)- 結(jié)點(diǎn)的平衡因子:結(jié)點(diǎn)的左右的深度之差小于等于1-210100 -210100- - 0 平衡二叉樹、二叉排序樹、平衡二叉排序樹的區(qū)別35-5035-500204506004865-170-45068-2
80- - 45 850 68平衡二叉
二叉排序
平衡二叉排序順序表,對數(shù)據(jù)元素的一般有兩種形式哈希(Hash)表和哈希儲一般是不連續(xù)的。過Hash函數(shù)計(jì)算出的根據(jù)設(shè)定的哈希函數(shù)H(k)和處理的方法設(shè)K1和K2K1≠K2,H(K1)=H(K2K1,K2為同義詞,K2與K1為發(fā)生了∵5和22是同義詞,5和22發(fā)生直接定址
例1序1234(地12341234H(key)=key地H()=例2序男王偉男女王偉女男王偉男女王偉女12 4nH(keykey200040地H(學(xué)號號例3序號23456
=ABCCADDATFOXYABZOO key除以pH(key)=keyMODp H(key)=key%p p<=mp為接近m的質(zhì)數(shù)(素?cái)?shù))或不包含小于20的質(zhì)因子的合數(shù),如例1m=130,H(key)=key%01 例2設(shè)m=256 取p=251H(key)=key%251 0~20H(K)=K%輸入關(guān)鍵字序列:39,22,21,37,36,38,19,解決的方法關(guān)鍵字 19與38,再與22,存入
1234517與36,再與37,存入HT[19]56與37,再與17,存入HT[20]55與36,再與37,17,56,再38,39,21,22,19,存入HT[5]對于H(k)=k19,所有的19a+b為同義如
12345平方取中 取關(guān)鍵字平方后的中間某幾位為哈H(k)=取k2例.設(shè)哈希表為HT[0..99],哈希函數(shù)為H(K)=取k2的中間2位數(shù),輸入關(guān)鍵字序3列:39,21,6,36,38,13,散列法解決,構(gòu)造HT[0..99] 6折疊0101設(shè)表地址范圍為650+439+725321+486+097003+600+7004.折疊移位折疊法(移位設(shè)表地址范圍為056+439+527123+486+790300+600+007
01
HT[0..kk隨機(jī)數(shù)靈活構(gòu)造哈希函例.設(shè)哈希表為HT[0..40],哈希函數(shù)為H(K)=取k2的中間2位數(shù)K6K6
66如何解決開放地址法為q,Ri已存入HT[0..m-1]中的HT[q]中,則RXHTq+1,q+2,...,m-1,0,1,...,q-中尋找一個(gè)空位,叫做線性探HT[0..m-線性探測再散 1q- m-課堂練習(xí):設(shè)H(k)=k的首字母在字母表中的序號,用線性 表HT[0..28]。 11 12 3 4 65 66 7 8 9 10 11 12 13
例H(k)=k的首字母在字母表中的序號,用線性探測再散列法解決,依次用下列關(guān)鍵字,造哈希表HT[0..281A1A12434456178934
AA1234567RiRjijHT[qq+12,q-12,q+22,q-22,...,q+i2,q-i2,...中尋找一個(gè)空位,叫做二次探測再散列。X和A為同義詞,散列地址為50,GECABDF0XXXXXXXXGECABDFX0鏈地址 設(shè)H(k)=k的首字母在字母表中的序號,用下列關(guān)鍵字造哈希A14A144134123456789
∧CAD∧CAD∧∧∧∧A∧23DEC4DEC∧∧∧∧鏈地址例 設(shè)H(k)=k的首字母在字母表中的序號,用下列關(guān)鍵字造哈希表HT[1..26]A14A144134123456789
A∧CADA∧CAD∧∧∧∧ANT23∧4∧∧∧∧∧建立公共
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Module7(單元測試)英語六年級下冊-外研版(一起)(含答案)
- 四川省成都市2024年七年級《數(shù)學(xué)》上冊期中試卷與參考答案
- 電信行業(yè)人才招聘與培養(yǎng)的雙重策略
- 足球場護(hù)網(wǎng)行業(yè)深度研究報(bào)告
- 嘉興職業(yè)技術(shù)學(xué)院《蜜蜂生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東中醫(yī)藥高等專科學(xué)?!独w維化學(xué)與物理》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古交通職業(yè)技術(shù)學(xué)院《FID原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 魯迅美術(shù)學(xué)院《泛函分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子支付在跨境交易中的應(yīng)用與風(fēng)險(xiǎn)控制
- 池州學(xué)院《項(xiàng)目成本管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 騎手食品安全培訓(xùn)
- 第十六章二次根式單元復(fù)習(xí)題-2023-2024學(xué)年人教版八年級數(shù)學(xué)下冊
- 2023-2024新版北師大七年級數(shù)學(xué)下冊全冊教案
- 新人教版五年級小學(xué)數(shù)學(xué)全冊奧數(shù)(含答案)
- 風(fēng)電場升壓站培訓(xùn)課件
- 2024年光大環(huán)保(中國)有限公司招聘筆試參考題庫含答案解析
- 50個(gè)工具玩轉(zhuǎn)項(xiàng)目式學(xué)習(xí)
- GB/T 15622-2023液壓缸試驗(yàn)方法
- 中國兒童戲劇發(fā)展史
- 燒結(jié)機(jī)安裝使用說明書
- arcgis軟件操作解析課件
評論
0/150
提交評論