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