关于java的稀疏数组

本文介绍了Java中的稀疏数组,通过对比常规二维数组,阐述了稀疏数组在节省存储空间上的优势,并提供了创建和处理稀疏数组的实际代码示例,包括如何将密集型数组转换为稀疏数组以减少无用数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于java的稀疏数组

我们在前面的文章中了解了冒泡排序和优化冒泡排序,在本篇文章中我们来介绍一下稀疏数组,我们学会了可以自己动手试一试😀

稀疏数组

在介绍稀疏数组之前,我们先来了解一下五子棋。

在这里插入图片描述

我们这里有一个11 x 11的棋盘,棋盘上有两个棋子,一黑一白,所以我们可以用我们之前学过的二维数组来表示。

0  0  0  0  0  0  0  0  0  0  0
0  0  1  0  0  0  0  0  0  0  0
0  0  0  2  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0

黑色棋子代表1,白色棋子代表2,但是我们会发现,二维数组很多的默认值都是0,所以记录了很多没有意义的数据。

所以,可以通过压缩数组的方法,来解决次问题,这个就叫做稀疏数组

稀疏数组的介绍

1、当一个数组中大部分的元素都是0,或者都为同一个数值,可以用稀疏数组来保存该数组。

2、稀疏数组的处理方法:

  • 记录数组一共有几行,有几列,有多少个不同的值
  • 把具有相同值的元素和行列以及值,记录在一个小规模的数组中,从而缩小了程序的规模。

3、举例说明:

  • 原始数组
0   0   0   22  0   0   15
0   11  0   0   0   17   0
  • 稀疏数组
||[0]  2  |   7 |   4 
--------|-----|-------    //意思就是,两行,七列,4个不相同的值。
[1]  0  |   3 |  22
[2]  0  |   6 |  15
[3]  1  |   1 |  11
[4]  1  |   5 |  17

4、我们用代码来写一下棋盘😎

  • **创建一个二维数组 **
  • 棋盘格式为11*11 没有棋子代表0 ,黑色为1,白色为2。
public class Demo
{
   
	public static void main(String[] args)
	{
   
		int[][] array1 = new int[11][11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值