返回顶部
首页 > 资讯 > 精选 >java中什么是稀疏数组
  • 154
分享到

java中什么是稀疏数组

2023-06-14 17:06:27 154人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关java中什么是稀疏数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。

这篇文章将为大家详细讲解有关java中什么是稀疏数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

1、特点

它可以压缩数据,减少内存空间的使用。

2、过程

记录数组元素的坐标和值。

稀疏数组有3列,分别是行、列、值,行数是原数组不同值的数加1;

array[0]记录一组行数和列数,以及不同值的数;

然后每行记录一个值在原数组的行列下标记和自己的值。

3、实例

public static void main(String[] args) {    //创建一个原始的二维数组    //0:没有棋子,1:黑子,2:白子    int chessArr1[][] = new int[11][11];    //下面先固定二维数组的元素,后面可优化~    chessArr1[1][2] = 1;    chessArr1[2][3] = 2;    chessArr1[4][5] = 2;    //输出原始的二维数组:    System.out.println("原始的二维数组:");    printArray(chessArr1);     //下面将二维数组转化为稀疏数组    //1.先遍历二维数组,得到非0数据的个数    int sum = 0;     for (int i = 0; i < 11; i++) {        for (int j = 0; j < 11; j++) {            if (chessArr1[i][j] != 0) {                sum++;            }        }    }     //2.创建对应的稀疏数组    int sparesArr[][] = new int[sum + 1][3];    //给稀疏数组赋值    sparesArr[0][0] = 11;    sparesArr[0][1] = 11;    sparesArr[0][2] = sum;     //遍历二维数组,将非0的值存放在sparesArr中    int count = 0;//count 用于记录是第几个非0数据    for (int i = 0; i < 11; i++) {        for (int j = 0; j < 11; j++) {            if (chessArr1[i][j] != 0) {                count++;                sparesArr[count][0] = i;                sparesArr[count][1] = j;                sparesArr[count][2] = chessArr1[i][j];            }        }    }     //输出稀疏数组的形式    System.out.println();    System.out.println("得到的稀疏数组为:");    printArray(sparesArr);    System.out.println();     //下面将稀疏数组恢复成二维数组    //先读取稀疏数组的第一行元素,根据其数据,创建原始的二维数组    int chessArr2[][] = new int[sparesArr[0][0]][sparesArr[0][1]];      //读取稀疏数组后几行的元素(从第二行开始),并赋值给原始的二维数组即可     for (int i = 1; i < sparesArr.length; i++) {        chessArr2[sparesArr[i][0]][sparesArr[i][1]] = sparesArr[i][2];    }     //输出恢复后的二维数组    System.out.println();    System.out.println("恢复后的二维数组");    printArray(chessArr2);} //打印数组public static void printArray(int[][] array) {    for (int i = 0; i < array.length; i++) {        for (int j = 0; j < array[0].length; j++) {            System.out.printf("%d\t", array[i][j]);        }        System.out.println();    }}

关于java中什么是稀疏数组就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: java中什么是稀疏数组

本文链接: https://lsjlt.com/news/273475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java中什么是稀疏数组
    这篇文章将为大家详细讲解有关java中什么是稀疏数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。...
    99+
    2023-06-14
  • Java稀疏数组
    目录 1.稀疏数组 2.稀疏数组的使用 2.1 二维数组转换为稀疏数组 2.2 稀疏数组转换为二维数组 1.稀疏数组 稀疏数组(Sparse Array):当一个数组中的大部分元素为相同的值,可使用稀疏数组来保存该数组,可以将稀疏数组...
    99+
    2023-09-21
    数据结构 java 开发语言
  • java稀疏数组的代码怎么写
    这篇文章主要介绍了java稀疏数组的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java稀疏数组的代码怎么写文章都会有所收获,下面我们一起来看看吧。稀疏组织当一个数组中大部分元素为0,或者为同一个值...
    99+
    2023-07-02
  • java稀疏数组的示例代码
    稀疏组织 当一个数组中大部分元素为0,或者为同一个值的数组时,可以用稀疏数组来保存该数组稀疏数组,记录一共有几行几列,有多少个不同值把具有不同值的元素和行里了及值记录在一个小规模的数...
    99+
    2024-04-02
  • java数据结构基础:稀疏数组
    目录稀疏数组:实现思路:举例:二维数组转稀疏数组实现思路:稀疏数组恢复二维数组实现思路:代码实现:输出结果:总结稀疏数组: 当一个二维数组中大部份的值为0,或者为同一值的时候,可以用...
    99+
    2024-04-02
  • java怎么将二维数组转化为稀疏数组
    本篇内容主要讲解“java怎么将二维数组转化为稀疏数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么将二维数组转化为稀疏数组”吧!特点它可以压缩数据,减少内存空间的使用。过程记录数组...
    99+
    2023-06-30
  • Java编程内功之怎么用稀疏数组
    这篇文章主要讲解了“Java编程内功之怎么用稀疏数组”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java编程内功之怎么用稀疏数组”吧! 基本介绍当一个数组中大部分元素为0,或者为...
    99+
    2023-06-15
  • java数据结构中稀疏数组的实现方法
    这篇文章主要讲解了“java数据结构中稀疏数组的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java数据结构中稀疏数组的实现方法”吧!目录稀疏数组:实现思路:举例:二维数组转稀疏数...
    99+
    2023-06-20
  • scipy稀疏数组coo_array的实现
    目录coo_array初始化方案内置方法coo_array coo也被称为ijv,是一种三元组格式,对于矩阵中第i ii行第j jj列的值v vv,将其存储为( i , j , v ...
    99+
    2023-02-21
    scipy稀疏数组coo_array scipy稀疏数组
  • JavaScript稀疏数组示例教程
    目录前言什么是稀疏数组?创建带有孔洞的稀疏数组删除元素的映射现象稀疏数组的快速映射(强制创建映射关系)总结前言 最近有空在看一本关于 JS 数据结构和算法的书,里面有提到数组,却对数...
    99+
    2024-04-02
  • Java轻松实现二维数组与稀疏数组互转
    目录二维数组稀疏数组1、稀疏算法的基本介绍2、稀疏算法的处理方式二维数组转稀疏数组的思路二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,...
    99+
    2024-04-02
  • Java如何实现二维数组与稀疏数组互转
    这篇文章主要介绍了Java如何实现二维数组与稀疏数组互转的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现二维数组与稀疏数组互转文章都会有所收获,下面我们一起来看看吧。二维数组二维数组本质上是以数组...
    99+
    2023-06-29
  • scipy稀疏数组dok_array如何使用
    这篇文章主要介绍“scipy稀疏数组dok_array如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“scipy稀疏数组dok_array如何使用”文章能帮助大家解决问题。dok_arrayd...
    99+
    2023-07-05
  • scipy稀疏数组coo_array如何实现
    这篇文章主要讲解了“scipy稀疏数组coo_array如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“scipy稀疏数组coo_array如何实现”吧!coo_arraycoo也被称...
    99+
    2023-07-05
  • java数据结构算法稀疏数组示例详解
    目录一、什么是稀疏数组二、场景用法1.二维数组转稀疏数组思路2.稀疏数组转二维数组思路3.代码实现一、什么是稀疏数组 当一个数组a中大部分元素为0,或者为同一个值,那么可以用稀疏数组...
    99+
    2024-04-02
  • Java实现二维数组和稀疏数组之间的转换
    目录前言 1. 需求和思路分析 2.代码实现和展示 3. 总结 参考视频前言 用Java实现二维数据和稀疏数组之间的转换 1. 需求和思路分析 1.1 以二维数组的格式模拟棋盘、...
    99+
    2024-04-02
  • python的高级数组之稀疏矩阵
      稀疏矩阵的定义: 具有少量非零项的矩阵(在矩阵中,若数值0的元素数目远多于非0元素的数目,并且非0元素分布没有规律时,)则称该矩阵为稀疏矩阵;相反,为稠密矩阵。非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。 稀疏矩阵的两个动...
    99+
    2023-01-31
    稀疏 数组 矩阵
  • scipy稀疏数组dok_array的具体使用
    dok_array dok数组就是通过键值对存储的数组,其中key就是矩阵中的坐标元组,value就是对应坐标中的值,是最容易理解的稀疏矩阵存储方案。 >>> im...
    99+
    2023-02-23
    scipy稀疏数组dok_array scipy dok_array
  • Java二维数组与稀疏数组相互转换实现详解
    目录一、稀疏数组1、什么是稀疏数组2、图示3、稀疏数组的表达方式二、二维数组→稀疏数组三、稀疏数组→二维数组一、稀疏数组 1、什么是稀疏数组 当一个数组中大部分元...
    99+
    2024-04-02
  • 浅谈Java数据结构之稀疏数组知识总结
    稀疏数组 当一个数组中的元素大多为0或者相同元素的时候,可以用稀疏数组来压缩 稀疏数组只记录 行row 列col 值value 将下列的二维数组转为稀疏数组,如下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作