版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7單元第9課哈希表信息學(xué)奧賽之?dāng)?shù)據(jù)結(jié)構(gòu)例1、用哈希表存儲以下線性表(18,75,60,43,54,90,46).問題分析:假設(shè)選取的哈希函數(shù)為h(k)=kmodm,k為元素的關(guān)鍵字,m為哈希表的長度,用余數(shù)作為存儲該元素的哈希地址。k和m均為正整數(shù),并且m要大于或等于線性表的長度n。此例n=7,故取m=13就已經(jīng)足夠,得到的每個元素的哈希地址為:h(18)=18mod13=5h(75)=75mod13=10h(60)=60mod13=8h(43)=43mod13=4h(90)=90mod13=12h(46)=46mod13=7根據(jù)哈希地址,依次把元素存儲到哈希表H(0~m-1)中的效果如下:當(dāng)然,這是一個比較理想的情況,假如要再往表中插入第8個元素30,h(30)=30mod13=4,會發(fā)現(xiàn)H[4]已經(jīng)存放了43,此時就發(fā)生了沖突,那么就可以從H[4]往后按順序找一個空位置存放30,即可以把它插入到H[6]中。0123456789101112
54
4318
4660
75
90H例2:分身數(shù)對。(sumx,1s,256MB)問題描述:給出n個不同的正整數(shù)a[1]~a[n],它們的值在1~1000000之間。再給定一個整數(shù)x,編程計算這樣的數(shù)對個數(shù)(a[i],a[j]),1<=i<j<=n并且a[i]+a[j]=x。輸入格式:第1行1個正整數(shù)n,1<=n<=100000。第2行n個正整數(shù),表示元素a[1]~a[n],每兩個數(shù)之間用一個空格分隔。第3行1個正整數(shù)x,1<=x<=2000000。輸出格式:1行,1個整數(shù),表示這樣的數(shù)對個數(shù)。輸入樣例:951271091231113輸出樣例:3樣例說明:不同的和為13的數(shù)對是(12,1),(10,3)和(2,11)共3對。問題分析:如果使用雙重循環(huán)來查找,本題是要超時的。用哈希表來處理,定義a[x]代表x這個數(shù)在數(shù)列中是否存在,1代表存在,0代表不存在,那么只需要掃描1~x/2,若數(shù)字存在,那么只需要查看x減去這個數(shù)的結(jié)果在數(shù)列里是否存在,若存在就增加一對數(shù)列。例3:明明的隨機數(shù)(noip2016普及組復(fù)賽,randam,1s,256MB)問題描述:明明想在學(xué)校中請一些同學(xué)一起做一項問卷調(diào)查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(shù)(N≤100),對于其中重復(fù)的數(shù)字,只保留一個,把其余相同的數(shù)去掉,不同的數(shù)對應(yīng)著不同的學(xué)生的學(xué)號。然后再把這些數(shù)從小到大排序,按照排好的順序去找同學(xué)做調(diào)查。請你協(xié)助明明完成“去重”與“排序”的工作。輸入格式輸入有2行,第1行為1個正整數(shù),表示所生成的隨機數(shù)的個數(shù)N。第2行有N個用空格隔開的正整數(shù),為所產(chǎn)生的隨機數(shù)。輸出格式輸出也是2行,第1行為1個正整數(shù)M,表示不相同的隨機數(shù)的個數(shù)。第2行為M個用空格隔開的正整數(shù),為從小到大排好序的不相同的隨機數(shù)。樣例輸入102040326740208930040015樣例輸出8152032406789300400問題分析:因為n<=100,可以使用冒泡排序、插入排序、選擇排序等時間復(fù)雜度為O(n2)的算法實現(xiàn),這樣做不會超時。實際上,對于產(chǎn)生的隨機數(shù)a[i],由于0<a[i]<1001,且a[i]為整數(shù)。所以,可以使用哈希表a[i]=0表示沒有i這個數(shù),a[i]=1表示有i這個數(shù)。那么,每次讀一個i,把a[i]賦值為1,讀完所有數(shù)據(jù)后,只要再掃描一下這個數(shù)組就可完成統(tǒng)計和排序輸出任務(wù)。這種方法類似“桶排序”原理。練習(xí)1:整數(shù)集合(sumsets,1s,256MB)問題描述:給定一個整數(shù)集合s,請你尋找一個最大的d,使得a+b+c=d,并且a、b、c、d都是集合中的元素。輸入格式:若干集合s。對于每個集合s的第1行包含1個整數(shù)n,1<=n<=1000,表示集合中元素的個數(shù)。隨后有n行,每一行一個整數(shù),表示集合s中的元素,每個整數(shù)的范圍是[-536870912,536870911].輸入的最后一行包含一個0。輸出格式:對于每個集合s,輸出一行一個整數(shù)d,或者“NoSolution”表示無解。輸入樣例:523571252166425610240輸出樣例:12NoSolution練習(xí)2:生日(birthday,1s,256MB)問題描述:多多今天很高興,因為他的好朋友蘋果要過生日了。由于今天多多得到了兩張價值不菲的SHOP購物券,所以他決定買N件禮物送給蘋果。一個下午過去了,多多選好了N件禮物,并且它們的價格之和恰好為兩張購物券的面額這和。當(dāng)多多被自己的聰明所折服,高興地去結(jié)賬時,他突然發(fā)現(xiàn)SHOP對購物券的使用有非常嚴(yán)格的規(guī)定:一次只允許使用一張,不找零,不與現(xiàn)金混用。多多身上根本沒有現(xiàn)金,并且他不愿意放棄挑選好的禮物。這就意味著,他只能通過這兩張購物券結(jié)賬,而且每一張購物券所購買的物品總價格,必須精確地等于這張購物券的面額。怎樣才能順利地買回這N件禮物送給蘋果呢?本題的任務(wù)就是幫助多多確定是否存在一個購買方案。已知其中一張購物券的面額以及所有商品的價格,只需要確定能否找到一種方案使得選出來的物品的價格總和正好是這張購物券的面額即可。輸入格式:有多組測試數(shù)據(jù)。每組數(shù)據(jù)的第一行為兩個整數(shù)N和M,分別表示多多一共挑選了N個物品送給蘋果以及多多的一張購物券的面額為M。接下來的一行有N個用空格隔開的正整數(shù),第i個數(shù)表示第i個物品的價格。輸出格式:包含若干行,每行一個單詞“YES”或者“NO”,分別代表存在一個購買方案或不存在一個購買方案。輸入樣例:102000100010020030040050070060090080010229010001002
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)投資合同:甲方投資乙方公司的投資金額、股權(quán)比例等3篇
- 二零二五年度車輛包車保險合同規(guī)范3篇
- 二零二五版地下綜合管廊安全防護質(zhì)量保修合同3篇
- 二零二五版30萬噸礦砂船船舶維修保養(yǎng)及配件供應(yīng)長期合同3篇
- 二零二五版專業(yè)環(huán)保印刷保密合同3篇
- 二零二五年度網(wǎng)絡(luò)直播平臺運營與分成合同2篇
- 二零二五年環(huán)保搬運承包項目合同3篇
- 解除2025年度互聯(lián)網(wǎng)金融服務(wù)合同3篇
- 二零二五版文化衍生品開發(fā)及銷售合同范本3篇
- 二零二五版服裝品牌管理公司員工勞動合同范本3篇
- 2025年中國高純生鐵行業(yè)政策、市場規(guī)模及投資前景研究報告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 北師大版數(shù)學(xué)三年級下冊豎式計算題100道
- 計算機網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項目施工重點難點分析及應(yīng)對措施
- 胃鏡下超聲穿刺護理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評論
0/150
提交評論