第03章跳躍表SkipLists教案資料_第1頁
第03章跳躍表SkipLists教案資料_第2頁
第03章跳躍表SkipLists教案資料_第3頁
第03章跳躍表SkipLists教案資料_第4頁
第03章跳躍表SkipLists教案資料_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

SkipLists+

-

S0S1S2S3+

-

10362315+

-

15+

-

23159/27/20241SkipListsOutlineandReadingWhatisaskiplist(§3.5)OperationsSearch(§3.5.1)Insertion(§3.5.2)Deletion(§3.5.2)ImplementationAnalysis(§3.5.3)SpaceusageSearchandupdatetimesComparisonofdictionaryimplementations9/27/20242SkipListsWhatisaSkipListAskiplistforasetSofdistinct(key,element)itemsisaseriesoflistsS0,S1,…,ShsuchthatEachlistSicontainsthespecialkeys+

and-

ListS0containsthekeysofSinnondecreasingorderEachlistisasubsequenceofthepreviousone,i.e.,

S0

S1

ShListShcontainsonlythetwospecialkeysWeshowhowtouseaskiplisttoimplementthedictionaryADT566478+

313444-

122326+

-

+

31-

64+

3134-

23S0S1S2S39/27/20243SkipListsSearchWesearchforakeyxinaaskiplistasfollows:WestartatthefirstpositionofthetoplistAtthecurrentpositionp,wecomparexwithy

key(after(p)) x=y:wereturnelement(after(p)) x>y:we“scanforward” x<y:we“dropdown”Ifwetrytodropdownpastthebottomlist,wereturnNO_SUCH_KEYExample:searchfor78+

-

S0S1S2S3+

31-

64+

3134-

23566478+

313444-

1223269/27/20244SkipListsToinsertanitem(x,o)intoaskiplist,weusearandomizedalgorithm:Werepeatedlytossacoinuntilwegettails,andwedenotewithithenumberoftimesthecoincameupheadsIfi

h,weaddtotheskiplistnewlistsSh+1,…,Si+1,eachcontainingonlythetwospecialkeysWesearchforxintheskiplistandfindthepositionsp0,

p1,…,pioftheitemswithlargestkeylessthanxineachlistS0,S1,…,SiForj

0,…,i,weinsertitem(x,o)intolistSjafterpositionpjExample:insertkey15,withi

=2Insertion+

-

1036+

-

2323+

-

S0S1S2+

-

S0S1S2S3+

-

10362315+

-

15+

-

2315p0p1p29/27/20246SkipListsDeletionToremoveanitemwithkeyx

fromaskiplist,weproceedasfollows:Wesearchforxintheskiplistandfindthepositionsp0,

p1,…,pioftheitemswithkeyx,wherepositionpjisinlistSjWeremovepositionsp0,

p1,…,pifromthelistsS0,S1,…,SiWeremoveallbutonelistcontainingonlythetwospecialkeysExample:removekey34-

+

4512-

+

2323-

+

S0S1S2-

+

S0S1S2S3-

+

45122334-

+

34-

+

2334p0p1p29/27/20247SkipListsImplementationWecanimplementaskiplistwithquad-nodesAquad-nodestores:itemlinktothenodebeforelinktothenodeafterlinktothenodebelowlinktothenodeafterAlso,wedefinespecialkeysPLUS_INFandMINUS_INF,andwemodifythekeycomparatortohandlethemxquad-node9/27/20248SkipListsSpaceUsageThespaceusedbyaskiplistdependsontherandombitsusedbyeachinvocationoftheinsertionalgorithmWeusethefollowingtwobasicprobabilisticfacts:Fact1:Theprobabilityofgettingiconsecutiveheadswhenflippingacoinis1/2iFact2:Ifeachofnitemsispresentinasetwithprobabilityp,theexpectedsizeofthesetisnpConsideraskiplistwithnitemsByFact1,weinsertaniteminlistSiwithprobability1/2iByFact2,theexpectedsizeoflistSiisn/2i

TheexpectednumberofnodesusedbytheskiplistisThus,theexpectedspaceusageofaskiplistwithnitemsisO(n)9/27/20249SkipListsHeightTherunningtimeofthesearchaninsertionalgorithmsisaffectedbytheheighthoftheskiplistWeshowthatwithhighprobability,askiplistwithnitemshasheightO(logn)Weusethefollowingadditionalprobabilisticfact:Fact3:Ifeachofneventshasprobabilityp,theprobabilitythatatleastoneeventoccursisatmostnpConsideraskiplistwithnitemsByFact1,weinsertaniteminlistSiwithprobability1/2iByFact3,theprobabilitythatlistSihasatleastoneitemisatmostn/2iBypickingi

=3logn,wehavethattheprobabilitythatS3lognhasatleastoneitemis

atmost

n/23logn

=n/n3

=1/n2Thusaskiplistwithnitemshasheightatmost3lognwithprobabilityatleast1-1/n29/27/202410SkipListsSearchandUpdateTimesThesearchtimeinaskiplistisproportionaltothenumberofdrop-downsteps,plusthenumberofscan-forwardstepsThedrop-downstepsareboundedbytheheightoftheskiplistandthusareO(logn)withhighprobabilityToanalyzethescan-forwardsteps,weuseyetanotherprobabilisticfact:Fact4:Theexpectednumberofcointossesrequiredinordertogettailsis2Whenwescanforwardinalist,thedestinationkeydoesnotbelongtoahigherlistAscan-forwardstepisassociatedwithaformercointossthatgavetailsByFact4,ineachlisttheexpectednumberofscan-forwardstepsis2Thus,theexpectednumberofscan-forwardstepsisO(logn)WeconcludethatasearchinaskiplisttakesO(logn)expectedtimeTheanalysisofinsertionanddeletiongivessimilarresults9/27/202411SkipListsImplementingaDictionaryComparisonofefficientdictionaryimplementationsSearchInsertDeleteNotesHashTable1

expected1

expected1

expectednoordereddictionary

methodssimpletoimplementSkipListlogn

highprob.log

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論