![林厚從信息學(xué)奧賽課課通第7單元哈希表公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件_第1頁(yè)](http://file4.renrendoc.com/view/70311ce5400c5ef85a072e0a7ff935f3/70311ce5400c5ef85a072e0a7ff935f31.gif)
![林厚從信息學(xué)奧賽課課通第7單元哈希表公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件_第2頁(yè)](http://file4.renrendoc.com/view/70311ce5400c5ef85a072e0a7ff935f3/70311ce5400c5ef85a072e0a7ff935f32.gif)
![林厚從信息學(xué)奧賽課課通第7單元哈希表公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件_第3頁(yè)](http://file4.renrendoc.com/view/70311ce5400c5ef85a072e0a7ff935f3/70311ce5400c5ef85a072e0a7ff935f33.gif)
![林厚從信息學(xué)奧賽課課通第7單元哈希表公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件_第4頁(yè)](http://file4.renrendoc.com/view/70311ce5400c5ef85a072e0a7ff935f3/70311ce5400c5ef85a072e0a7ff935f34.gif)
![林厚從信息學(xué)奧賽課課通第7單元哈希表公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件_第5頁(yè)](http://file4.renrendoc.com/view/70311ce5400c5ef85a072e0a7ff935f3/70311ce5400c5ef85a072e0a7ff935f35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7單元第9課哈希表信息學(xué)奧賽之?dāng)?shù)據(jù)結(jié)構(gòu)例1、用哈希表存儲(chǔ)以下線性表(18,75,60,43,54,90,46).問(wèn)題分析:假設(shè)選取的哈希函數(shù)為h(k)=kmodm,k為元素的關(guān)鍵字,m為哈希表的長(zhǎng)度,用余數(shù)作為存儲(chǔ)該元素的哈希地址。k和m均為正整數(shù),并且m要大于或等于線性表的長(zhǎng)度n。此例n=7,故取m=13就已經(jīng)足夠,得到的每個(gè)元素的哈希地址為:h(18)=18mod13=5h(75)=75mod13=10h(60)=60mod13=8h(43)=43mod13=4h(90)=90mod13=12h(46)=46mod13=7根據(jù)哈希地址,依次把元素存儲(chǔ)到哈希表H(0~m-1)中的效果如下:當(dāng)然,這是一個(gè)比較理想的情況,假如要再往表中插入第8個(gè)元素30,h(30)=30mod13=4,會(huì)發(fā)現(xiàn)H[4]已經(jīng)存放了43,此時(shí)就發(fā)生了沖突,那么就可以從H[4]往后按順序找一個(gè)空位置存放30,即可以把它插入到H[6]中。0123456789101112
54
4318
4660
75
90H例2:分身數(shù)對(duì)。(sumx,1s,256MB)問(wèn)題描述:給出n個(gè)不同的正整數(shù)a[1]~a[n],它們的值在1~1000000之間。再給定一個(gè)整數(shù)x,編程計(jì)算這樣的數(shù)對(duì)個(gè)數(shù)(a[i],a[j]),1<=i<j<=n并且a[i]+a[j]=x。輸入格式:第1行1個(gè)正整數(shù)n,1<=n<=100000。第2行n個(gè)正整數(shù),表示元素a[1]~a[n],每?jī)蓚€(gè)數(shù)之間用一個(gè)空格分隔。第3行1個(gè)正整數(shù)x,1<=x<=2000000。輸出格式:1行,1個(gè)整數(shù),表示這樣的數(shù)對(duì)個(gè)數(shù)。輸入樣例:951271091231113輸出樣例:3樣例說(shuō)明:不同的和為13的數(shù)對(duì)是(12,1),(10,3)和(2,11)共3對(duì)。問(wèn)題分析:如果使用雙重循環(huán)來(lái)查找,本題是要超時(shí)的。用哈希表來(lái)處理,定義a[x]代表x這個(gè)數(shù)在數(shù)列中是否存在,1代表存在,0代表不存在,那么只需要掃描1~x/2,若數(shù)字存在,那么只需要查看x減去這個(gè)數(shù)的結(jié)果在數(shù)列里是否存在,若存在就增加一對(duì)數(shù)列。例3:明明的隨機(jī)數(shù)(noip2016普及組復(fù)賽,randam,1s,256MB)問(wèn)題描述:明明想在學(xué)校中請(qǐng)一些同學(xué)一起做一項(xiàng)問(wèn)卷調(diào)查,為了實(shí)驗(yàn)的客觀性,他先用計(jì)算機(jī)生成了N個(gè)1到1000之間的隨機(jī)整數(shù)(N≤100),對(duì)于其中重復(fù)的數(shù)字,只保留一個(gè),把其余相同的數(shù)去掉,不同的數(shù)對(duì)應(yīng)著不同的學(xué)生的學(xué)號(hào)。然后再把這些數(shù)從小到大排序,按照排好的順序去找同學(xué)做調(diào)查。請(qǐng)你協(xié)助明明完成“去重”與“排序”的工作。輸入格式輸入有2行,第1行為1個(gè)正整數(shù),表示所生成的隨機(jī)數(shù)的個(gè)數(shù)N。第2行有N個(gè)用空格隔開(kāi)的正整數(shù),為所產(chǎn)生的隨機(jī)數(shù)。輸出格式輸出也是2行,第1行為1個(gè)正整數(shù)M,表示不相同的隨機(jī)數(shù)的個(gè)數(shù)。第2行為M個(gè)用空格隔開(kāi)的正整數(shù),為從小到大排好序的不相同的隨機(jī)數(shù)。樣例輸入102040326740208930040015樣例輸出8152032406789300400問(wèn)題分析:因?yàn)閚<=100,可以使用冒泡排序、插入排序、選擇排序等時(shí)間復(fù)雜度為O(n2)的算法實(shí)現(xiàn),這樣做不會(huì)超時(shí)。實(shí)際上,對(duì)于產(chǎn)生的隨機(jī)數(shù)a[i],由于0<a[i]<1001,且a[i]為整數(shù)。所以,可以使用哈希表a[i]=0表示沒(méi)有i這個(gè)數(shù),a[i]=1表示有i這個(gè)數(shù)。那么,每次讀一個(gè)i,把a(bǔ)[i]賦值為1,讀完所有數(shù)據(jù)后,只要再掃描一下這個(gè)數(shù)組就可完成統(tǒng)計(jì)和排序輸出任務(wù)。這種方法類似“桶排序”原理。練習(xí)1:整數(shù)集合(sumsets,1s,256MB)問(wèn)題描述:給定一個(gè)整數(shù)集合s,請(qǐng)你尋找一個(gè)最大的d,使得a+b+c=d,并且a、b、c、d都是集合中的元素。輸入格式:若干集合s。對(duì)于每個(gè)集合s的第1行包含1個(gè)整數(shù)n,1<=n<=1000,表示集合中元素的個(gè)數(shù)。隨后有n行,每一行一個(gè)整數(shù),表示集合s中的元素,每個(gè)整數(shù)的范圍是[-536870912,536870911].輸入的最后一行包含一個(gè)0。輸出格式:對(duì)于每個(gè)集合s,輸出一行一個(gè)整數(shù)d,或者“NoSolution”表示無(wú)解。輸入樣例:523571252166425610240輸出樣例:12NoSolution練習(xí)2:生日(birthday,1s,256MB)問(wèn)題描述:多多今天很高興,因?yàn)樗暮门笥烟O(píng)果要過(guò)生日了。由于今天多多得到了兩張價(jià)值不菲的SHOP購(gòu)物券,所以他決定買N件禮物送給蘋(píng)果。一個(gè)下午過(guò)去了,多多選好了N件禮物,并且它們的價(jià)格之和恰好為兩張購(gòu)物券的面額這和。當(dāng)多多被自己的聰明所折服,高興地去結(jié)賬時(shí),他突然發(fā)現(xiàn)SHOP對(duì)購(gòu)物券的使用有非常嚴(yán)格的規(guī)定:一次只允許使用一張,不找零,不與現(xiàn)金混用。多多身上根本沒(méi)有現(xiàn)金,并且他不愿意放棄挑選好的禮物。這就意味著,他只能通過(guò)這兩張購(gòu)物券結(jié)賬,而且每一張購(gòu)物券所購(gòu)買的物品總價(jià)格,必須精確地等于這張購(gòu)物券的面額。怎樣才能順利地買回這N件禮物送給蘋(píng)果呢?本題的任務(wù)就是幫助多多確定是否存在一個(gè)購(gòu)買方案。已知其中一張購(gòu)物券的面額以及所有商品的價(jià)格,只需要確定能否找到一種方案使得選出來(lái)的物品的價(jià)格總和正好是這張購(gòu)物券的面額即可。輸入格式:有多組測(cè)試數(shù)據(jù)。每組數(shù)據(jù)的第一行為兩個(gè)整數(shù)N和M,分別表示多多一共挑選了N個(gè)物品送給蘋(píng)果以及多多的一張購(gòu)物券的面額為M。接下來(lái)的一行有N個(gè)用空格隔開(kāi)的正整數(shù),第i個(gè)數(shù)表示第i個(gè)物品的價(jià)格。輸出格式:包含若干行,每行一個(gè)單詞“YES”或者“NO”,分別代表存在一個(gè)購(gòu)買方案或不存在一個(gè)購(gòu)買方案。輸入樣例:102000100010020030040050070060090080010229010001002
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色物流貨物代理合同示范文本
- 福建省福州市平潭縣城關(guān)教研片2024-2025學(xué)年八年級(jí)(上)期末物理試卷(含解析)
- 遵義2025年貴州遵義市綏陽(yáng)縣政務(wù)服務(wù)管理局選調(diào)3人筆試歷年參考題庫(kù)附帶答案詳解
- 貴州2025年貴州省科學(xué)技術(shù)廳所屬事業(yè)單位招聘7人筆試歷年參考題庫(kù)附帶答案詳解
- 漯河2024年河南漯河市第六人民醫(yī)院(漯河市心血管病醫(yī)院)招聘高層次人才筆試歷年參考題庫(kù)附帶答案詳解
- 江西江西贛江新區(qū)中小學(xué)招聘2025屆部屬公費(fèi)師范畢業(yè)生9人筆試歷年參考題庫(kù)附帶答案詳解
- 曲靖云南曲靖陸良縣紅十字會(huì)招聘公益性崗位工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)大盆市場(chǎng)調(diào)查研究報(bào)告
- 懷化2024年湖南懷化市司法局所屬事業(yè)單位懷化市天橋公證處招聘2人筆試歷年參考題庫(kù)附帶答案詳解
- 廣州2025年廣東廣州市荔灣中心醫(yī)院招聘編制外工作人員19人(第一批)筆試歷年參考題庫(kù)附帶答案詳解
- 2025年一種板式過(guò)濾膜裝置項(xiàng)目投資可行性研究分析報(bào)告
- BMS基礎(chǔ)知識(shí)培訓(xùn)
- 質(zhì)保管理制度
- 2024年全國(guó)卷新課標(biāo)1高考英語(yǔ)試題及答案
- 2024年10月自考13003數(shù)據(jù)結(jié)構(gòu)與算法試題及答案
- 華為經(jīng)營(yíng)管理-華為激勵(lì)機(jī)制(6版)
- 2024年標(biāo)準(zhǔn)化工地建設(shè)管理實(shí)施細(xì)則(3篇)
- 干燥綜合征診斷及治療指南
- 糧油廠食品安全培訓(xùn)
- 南京信息工程大學(xué)《教師領(lǐng)導(dǎo)力》2022-2023學(xué)年第一學(xué)期期末試卷
- 電力基本知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論