时常努力地考虑压缩程序是很有利的。有时这种思考会带来新的启示,使程序变得更加简单。减少空间通常带来运行时间上合理的副作用:程序越小,加载的时候也越快,也越容易填充到高速缓存中;需要操作的数据越少,操作时所花的时间通常也就越少。《编程珠玑》
常用的减少程序所需数据的存储空间的技术有以下几种:
1 稀疏数据结构
稀疏数组是指其中大多数项都具有同一值(通常为0)的矩阵。对于稀疏矩阵,最常用的表示法是使用一个数组表示所有的列,使用链表表示给定列中的活动元素。以下是2个用到稀疏数据结构来减少空间的例子。
1)图边的表示
图边的表示有2种方法:邻接矩阵和邻接链表(稀疏矩阵)
邻接矩阵:用一个二维矩阵表示图中每条边的邻接边(1表示相邻边,0表示不是相邻边)