使用Java对稀疏数组的压缩与还原】的更多相关文章

目录 Java的稀疏数组的简单代码实现 一.稀疏数组的基本概念 二.稀疏数组的Java代码实现思路 三.稀释数组的Java代码实现 四.结语 Java的稀疏数组的简单代码实现 一.稀疏数组的基本概念 当二维数组的很多值是默认值 0,或者有很多相同的值时,记录了很多没有意义的数据,因此,在这里,我们需要引入一个新的概念--稀疏数组 在稀疏数组中,每行分别有三个元素:行,列,值.在稀疏数组的第一行,行表示原数组的行数,列表示原数组的列数,值表示原数组非0数据的个数:接下来的稀疏数组的几行中,行表示非…
package sparseArray; public class SparseArray { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个原始的二维数组 // 0表示没有棋子,1表示黑子,2表示蓝子 int chessArr1[][] =new int[11][11]; chessArr1[1][2]=1; chessArr1[2][3]=2; //输出原始二维数组 Syst…
数据结构必要知识 线性结构 线性结构是最常用的数据结构,数据元素之间存在一对一的线性关系. 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构.顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的. 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻的地址信息. 线性表结构常见的有:数组,队列,链表,栈 非线性结构 非线性结构包括:二维数组,多维数组,广义表,树结构,图结构(这就不是一对一了) 稀疏数组 基本介绍 定义: 当一个数组中大部分的元素为…
在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的.可见算法的重要性. 然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础. 我在大学的时候,学校里的数据结构是用C语言教的,因为对C语言也不是很了解,所以掌握得不是特别好,在网上找的一些学习资料里也基本都是用C语言来进行数据结构的教学. 那么,从本篇文章开始,我将用Java语言来介绍数据结构,当然,数据结构过后就是算法. 线性结构和非线性结构 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系:…
package array; public class demo06 { public static void main(String[] args) { //创建一个二维数组 11*11 int[][] array1 = new int[11][11]; //存放数据(稀疏数组的非零数据) array1[1][2]=1; array1[2][3]=2; //输出原始数组 System.out.println("输出原始数组"); for (int[] ints : array1) {…
public static void main(String[] args) { int[][]array1=new int[11][11]; array1[1][2]=1; array1[2][3]=2; System.out.println("原始数组"); for (int[] ints:array1) { for (int anInt :ints){ System.out.print(anInt+"\t"); } System.out.println();…
方法 什么是方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合.我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展. 方法的定义 Java的方法类似于其它语言的函数,是一段用于完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法 方法包含一个方法头和一个方法体.下面是一个方法的所…
掌握知识: 数组的初始化和赋值 结构体的初始化和赋值 字符串和整型之间的转换以及其它的一些操作 类型断言 读取文件 写入文件 对稀疏数组进行压缩 package main import ( "bufio" "fmt" "io" "os" "strconv" "strings" // "strconv" ) func originArr() [][]int { //创建…
主要是用于数组压缩,去除无效的数组内容: 原数组内容: 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 转换成 稀疏数组 5 5 2 1 1 1 2 3 2 思路: 韩老师留的最后课后作业代码完成: 代码实现: package Array_Test; import java.io.*; public class Test4 { public static void main(String[] args) throws IOException,…
一.概念&引入 什么是稀疏数组? 稀疏数组是面对一个二维数组中有众多重复元素的情况下,为了节省磁盘空间,将此二维数组转化为更加节省空间的一种数组,我们叫他稀疏数组. 只是听概念或许会看不明白,我们来用图来演示一下: 如图模拟为一个五子棋棋盘,其中1代表黑子,2代表白子(蓝子),我们在将其存入磁盘中,如果只是单纯的用文件io的方式将此二维数组存入磁盘,必然会造成磁盘空间的大大浪费,这时候就需要我们的稀疏数组出场了,咱们先看一下他是什么样子:   行(row) 列(col) 值(value) [0]…