




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
找出那枚假幣-分治算法校門口的小賣部是很多同學(xué)下課常去的地方,在那里可以買到同學(xué)們喜歡的零食,但是一些粗心的同學(xué)會(huì)不小心把游戲幣當(dāng)成硬幣用來買東西。假設(shè)游戲幣和真幣外觀上沒有區(qū)別,只是稍微輕一點(diǎn),小賣部的老板每天清理硬幣時(shí),總希望可以更迅速地找出這些假幣(游戲幣)。某一天,老板收到了16枚硬幣,其中有一枚假幣,老板希望用一臺(tái)天平來幫助找出假幣,如何迅速找出這枚假幣?試一試假設(shè)真幣重量為5g,假幣重量為3g,現(xiàn)在用一個(gè)list來模擬一組存在一枚假幣的硬幣組:coin[5,5,5,5,5,5,3,5,5,5,5,5,5,5,5,5]因?yàn)槲覀冎挥幸慌_(tái)天平,通過枚舉的方式,我們可以每次選取一枚硬幣放在天平的一端,然后依次選取一枚硬幣放在天平的另一端,如果在某次對(duì)比中發(fā)現(xiàn)其中一枚硬幣較輕,這枚就是假幣。在之前窮舉法的學(xué)習(xí)過程中,我們學(xué)習(xí)過如何在數(shù)組中查找一個(gè)數(shù)據(jù)。請(qǐng)嘗試寫一個(gè)Python程序,模擬用順序查找的方式找出假幣的過程,程序輸出假幣的位置,對(duì)于以上硬幣組,正確輸出為6。學(xué)一學(xué)現(xiàn)在,我們用另一種方式來尋找假幣。把硬幣分為兩組,每組8枚硬幣,將兩組硬幣放在天平上對(duì)比,如果重量相等,則不存在假幣,如果一組較輕,則存在假幣,且假幣在較輕的這組中。用這種方式,一次即可找出是否存在假幣。如果將硬幣分為8組,每組2枚,則最多經(jīng)過8次對(duì)比,即可找出16枚硬幣中是否存在假幣,且能夠找出假幣的位置。以下程序?qū)⒂矌欧譃?組,第i枚硬幣和第8+i枚硬幣為一組:這種將問題分而治之的方法,我們稱為分治算法,它是指將較大規(guī)模的問題分解成幾個(gè)較小規(guī)模的問題,通過對(duì)較小問題的求解達(dá)到對(duì)整個(gè)問題的求解的方法。分治的基本思想,是將一個(gè)規(guī)模為n的問題分解為k個(gè)規(guī)模較小的子問題,這些子問題互相獨(dú)立,且與原問題相似。找出各個(gè)子問題的解,然后把各個(gè)子問題的解組合成整個(gè)問題的解。做一做以下程序段,模擬在硬幣組中插入一枚假幣,輸入數(shù)據(jù)為插入假幣的位置,在自己的程序中加入以下程序段,試試輸出結(jié)果和輸入位置是否一致。分治法的一般解題步驟:先分解問題,然后逐個(gè)解決,最后合并得解。比如有種排序的方法叫快速排序,它在對(duì)一個(gè)序列進(jìn)行排序的時(shí)候,先按某個(gè)元素的值將問題進(jìn)行分解,把比這個(gè)元素小的數(shù)全部挪到這個(gè)元素的左邊,比這個(gè)元素大的全部挪到這個(gè)元素的右邊,那么左邊和右邊就成了完全獨(dú)立的兩個(gè)子問題,然后遞歸繼續(xù)分解問題,直到只有1~2個(gè)數(shù)字的時(shí)候直接比較排序,最后的序列自然由小到大排好了。16枚硬幣中存在一枚假幣的假幣問題,可以采用二分的方式來解,定義函數(shù)weight(m,n),表示將從第m枚硬幣到第n枚硬幣組成的硬幣組,每次從中間劃分為數(shù)相同的兩組,用天平進(jìn)行重量對(duì)比,編寫程序如下:運(yùn)行以上程序,嘗試改變假幣的位置,觀察程序輸出結(jié)果。練一練對(duì)于16枚硬幣中存在一枚假幣的假幣問題,通過對(duì)比,嘗試分析不同算法的效率:你還有沒有更好的做法?
問題方法判斷是否存在假幣找出假幣位置最少查找次數(shù)最多查找次數(shù)平均查找次數(shù)最少查找次數(shù)最多查找次數(shù)平均查找次數(shù)順序查找分成8組每次分為2組探一探1.在很多人中找出身高最高的那位同學(xué),可以將大家分成10個(gè)小組,每個(gè)小組找出最高的同學(xué),然后這10位同學(xué)再進(jìn)行最后一次比較,請(qǐng)寫出這樣的Python程序。其實(shí)很多的體育賽事,小組賽就是這樣分治進(jìn)行的。2.在n個(gè)數(shù)的無序的表中找到一個(gè)數(shù)字可能需要n次比較。但是在一個(gè)有序的表中,比較的次數(shù)會(huì)少得多,假設(shè)是由小到大排列的有序表a[1。。10]中找X,先比較a[5]與X的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國康復(fù)醫(yī)療服務(wù)行業(yè)市場(chǎng)規(guī)模測(cè)算邏輯模型
- 2025年度南京地區(qū)建筑勞務(wù)派遣合作協(xié)議書
- 2025年度安防技術(shù)研發(fā)合伙人股份協(xié)議
- 二零二五年度荒山承包合同(生態(tài)修復(fù)與水源保護(hù))
- 便利店裝修施工合同范本
- 2025年度簽待崗協(xié)議對(duì)員工職業(yè)生涯規(guī)劃指導(dǎo)手冊(cè)
- 2025年度平房房屋出租合同(含周邊商業(yè)合作權(quán)益)
- 2025年湖南體育職業(yè)學(xué)院單招職業(yè)傾向性測(cè)試題庫完整
- 2025年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫必考題
- 2024年三季度報(bào)重慶地區(qū)A股主營業(yè)務(wù)收入增長率排名前十大上市公司
- 2022云南省中考道法真題試卷和答案
- 如何在質(zhì)保到期后提供售后服務(wù)
- 勞務(wù)經(jīng)濟(jì)人培訓(xùn)課件
- 海爾集團(tuán)周云杰發(fā)表主題為《無界生態(tài) 無限可能》戰(zhàn)略報(bào)告
- 漢字真有趣教學(xué)設(shè)計(jì)
- 經(jīng)典成語故事葉公好龍
- 自導(dǎo)式教學(xué)心得體會(huì)范文【3篇】
- 防范游戲充值詐騙保護(hù)個(gè)人游戲賬號(hào)安全
- 數(shù)學(xué)與體育融合課程設(shè)計(jì)
- 七年級(jí)英語閱讀理解專項(xiàng)訓(xùn)練(含答案)共20篇
- 神奇的光:如何形成彩虹
評(píng)論
0/150
提交評(píng)論