程式設計珠璣 第一章開篇

2021-09-30 05:59:09 字數 389 閱讀 8804

遇到乙個提問

我們需要提出更多的細節問題,準確的把問題描述清楚,其次才是對問題進行設計解決

位圖/位向量-------

適用於:輸入資料限制在相對較小的範圍內;資料沒有重複;而且對於每條記錄而言,除了單一資料外,沒有任何其他關聯資料。但是依然可以靈活應用。

原理總結:

1. 對小問題的仔細分析有時可以得到明顯的實際益處;

2. 結構簡單,部件很少,易於維護,非常堅固。(用於程式依通用)

3. 時間—空間折中/雙贏,當然只有在原始的設計遠非最佳方案時,才有可能得到時空雙贏;

4. 簡單的設計,通常比複雜的程式更可靠,更安全,更健壯,更高效,而且易於實現與維護。

此篇還提到了歸併排序,此排序常見於外部排序,當記憶體不足於放下所有的資料。

程式設計珠璣 第一章 開篇

一,題目 如何在1mb的空間裡面對一千萬個整數進行排序?並且每個數都小於1千萬。實際上這個需要1.25mb的記憶體空間 這裡所說的空間是考慮用位圖表示法時,每一位代表乙個數,則1千萬 1024 1024 8 約為1.25mb 1mb總共有838,8608個可用位。所以估計也可以在1mb左右的空間裡面...

程式設計珠璣第一章

原文中的問題 如何在1mb的空間裡面對一千萬個整數進行排序?並且每個數都小於1千萬。實際上這個需要1.25mb的記憶體空間。1mb總共有838,8608。所以估計也可以在1mb左右的空間裡面進行排序了。include include define bitsperword 32 define shif...

程式設計珠璣第一章

下午看完程式設計珠璣第一章,感覺很不錯!如作者所說 閱讀本書乙個提示,不要太快,一次閱讀一章。集中精力思考,解答課後習題。寫總結就是在剛弄懂的時候,這時候是最恰當的時候,最容易接受。題目要求 乙個最多含有1000萬個整數的檔案,整數沒有重複,請輸出公升序排列。約束 最多1m記憶體,時間10s。題目很...