本章講述了節(jié)省空間的一些重要方法。
減少程序所需數(shù)據(jù)的存儲空間,一般有以下方法:
以下是節(jié)省代碼空間的幾種通用技術:
稀疏數(shù)據(jù)結(jié)構
假設我們有一個200 x 200的矩陣(共40000個元素),里面只有2000個元素有值, 其它的都為0,示意圖如下:
顯然這是一個稀疏矩陣,直接用一個200 x 200 的二維數(shù)組來存儲這些數(shù)據(jù)會造成大量的空間浪費,共需要200x200x4B=160KB。 所以,我們應該想辦法用另一種形式來存儲這些數(shù)據(jù)。
方法一
使用數(shù)組表示所有的列,同時使用鏈表來表示給定列中的活躍元素。 如下圖所示:
更多建議: