版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.給40億個不重復的unsignedint的整數(shù),沒排過序的,然后再給一個數(shù),如何快速判斷這個數(shù)是否在那40億個數(shù)當中A.申請512M的內存一個bit位代表一個unsignedint值讀入40億個數(shù),設置相應的bit位讀入要查詢的數(shù),查看相應bit位是否為1,為1表示存在,為0表示不存在B.1.unsignedint32位有40億個的,這是事實2.確實是用位圖做的,512M內存C.使用位圖法判斷整形數(shù)組是否存在重復判斷集合中存在重復是
2、常見編程任務之一,當集合中數(shù)據(jù)量比較大時我們通常希望少進行幾次掃描,這時雙重循環(huán)法就不可取了。位圖法比較適合于這種情況,它的做法是按照集合中最大元素max創(chuàng)建一個長度為max1的新數(shù)組,然后再次掃描原數(shù)組,遇到幾就給新數(shù)組的第幾位置上1,如遇到5就給新數(shù)組的第六個元素置1,這樣下次再遇到5想置位時發(fā)現(xiàn)新數(shù)組的第六個元素已經(jīng)是1了,這說明這次的數(shù)據(jù)肯定和以前的數(shù)據(jù)存在著重復。這種給新數(shù)組初始化時置零其后置一的做法類似于位圖的處理方法故稱位
3、圖法。它的運算次數(shù)最壞的情況為2N。如果已知數(shù)組的最大值即能事先給新數(shù)組定長的話效率還能提高一倍。D.我的解法,看看還能不能優(yōu)化了。#include#include#defineBITPERINT32每個int型字節(jié)數(shù)#defineBITPER8每個型字節(jié)數(shù)#defineN400000000040億個數(shù)#defineSIZENBITPERINT#defineMASK0x801000000掩碼猶豫40億個數(shù)會超出??臻g,所以在堆上分配動態(tài)
4、數(shù)組。typedefstructBitListunsignedbaseintintLengthBitListP_BitList初始化線性順序表,總位數(shù)為intSizeBITPERintInitBitList(BitListif(BL.base==NULL)printf(“nOutofmemomry!n“)exit(0)內存初始化為0SetList(blinput)intresult=“給定數(shù)“if(GetList(blresult)==
5、1)printf(“存在“)DestroyBitList(bl)E.unsignedint[12510241024]=0LOOP:讀下一個數(shù)據(jù)到x中b[x5]=b[x5]&(15]&(1=20億(這相當于折半了);與要查找的數(shù)的最高位比較并接著進入相應的文件再查找再然后把這個文件為又分成兩類:1.次最高位為02.次最高位為1并將這兩類分別寫入到兩個文件中,其中一個文件中數(shù)的個數(shù)=10億(這相當于折半了);與要查找的數(shù)的次最高位比較并接著
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- “不重復別人,也不重復自己”
- 心理學174個現(xiàn)象(免費完整不重復)
- excel不重復輸入避免excel重復輸入數(shù)據(jù)的方法
- 葉永烈不重復錯誤的民族才有前途
- java產(chǎn)生不重復隨機數(shù)改進算法
- 給初學單片機的40個實驗-1
- 給初學單片機的40個實驗.doc
- 給初學單片機的40個實驗.doc
- 給初學單片機的40個實驗.rar
- 給初學單片機的40個實驗.rar
- 給初學單片機的40個實驗-2
- 重復給藥講解
- 一位身家8億的女人給80后女孩子的14個忠告
- 0568、給初學at89s52單片機的40個實驗
- 0568、給初學at89s52單片機的40個實驗
- 不重復建設年限內公路BOT項目社會效益研究.pdf
- 11222022 complaint - unsigned
- 身價105億的老板告訴你出身、學歷不重要,關鍵在于你交什么朋友
- 給孩子的20個故事
- 價值一個億的營銷案例
評論
0/150
提交評論