正文
為了解決在12章中的隨機數問題,本章中的目的是對檢視是否在陣列中的情況進行處理。那麼這裡採用了以下幾種方法:
1、採用c++的set
2、採用陣列
3、採用鍊錶,順序搜尋,插入時不用移動。
結果是陣列的比鍊錶的要快:
1、鍊錶需要讀入的記憶體數比陣列大
2、陣列訪問有較好的記憶體相聯性,而鍊錶則不能保證。
接下來採用了二叉樹,箱,位向量資料結構
習題5、實際上就是先分配一大塊記憶體給其使用、不要用一塊申請一塊。
6、公升序放入陣列及鍊錶中的時候,可以得到較好的效果,而在別的二叉搜尋樹,箱結構下則會得到較差的效果。
7、略過
8、略過
9、位移處理
10、雜湊表,knuth也提出一種有序化雜湊表
程式設計珠璣第14章
這裡把所有關於堆的操作寫出來。當做標程吧。include include define ms 1025 typedef struct heap heap heap h static void shift heap h,int i else break a i t static void increa...
程式設計珠璣第12章
正文 如何生成0 n 1內的m個隨機整數 1 方法一 比如要從5個數里選出2個數,第乙個數的概率是2 5,第二個數的概率是1 4,然後是0 3 那麼現在已經很清楚了。可以寫 如下 for int i 0 i n i if rand n i m 2 方法二 可以用乙個set,每生成乙個隨機,就去set...
程式設計珠璣 第7 8 9章
基本技巧 兩個答案比乙個答案好 快速檢驗 量綱檢驗 經驗法則 實踐little定律 系統中物體的平均數量等於物體離開系統 的平均速率和每個物體在系統中停留的平均時間的乘積 任何事都應盡量簡單,但不宜過於簡單 複雜深奧的演算法有時可以極大地提高程式效能 重要的演算法設計技術 儲存狀態,避免重複計算。通...