稀疏数组的基本介绍
当一个数组中大部分元素为0,或者为同一个值得情况时,可以使用稀疏数组来保存该数组。
稀疏数组的预览:
大体可以的到一个结论,在一个二维数组中,如果相同值占2/3以上时,利用稀疏数组能节约大量空间。
整体代码如下
由于稀疏数组作为数据结构中较简单的,因此在一个类中即可实现
/*
稀疏数组的实现:
疑问:fori 和 foreach 哪个效率更高?答案:两者对程序的影响很小。程序的效率主要看程序设计。
*/
import java.io.*;
public class SparseArray {
//将稀疏数组存入磁盘
public static void saveToFile(int[][] sparseArray) throws IOException {
File file = new File("e:/sparseArray.data");
FileWriter fileWriter = null;
fileWriter = new FileWriter(file);
for (int i = 0; i < sparseArray.length; i++) {
fileWriter.write(sparseArray[i][0] + "\t" +
sparseArray[i][1] + "\t" + sparseArray[i][2]);
fileWriter.write(System.getProperty("line.separator"));// 获取当前系统换行所需要的符号 \r、\n、\r\n
}
fileWriter.close();
}
//读取磁盘中的稀疏数组
public static int[][] readFromFile() throws IOException {
int[][] sparseArray = null;
File file = new File("e:/sparseArray.data");
FileReader file