Java数据结构---稀疏数组

技术Java数据结构---稀疏数组 Java数据结构---稀疏数组稀疏数值的基础概念(图示)◆当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。◆稀疏数组的处理方式是:◆记

爪哇数据结构-稀疏数组

稀疏数值的基础概念(图示)

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

稀疏数组的处理方式是:

记录数组一共有几行几列,有多少个不同值

把具有不同值的元素和行列及值记录在-个小规模的数组中,从而缩小程序的规模

如上图:上边是原始数组,下边是稀疏数组

公共静态void main(String[]参数){ 0

//建立一个原始二维数组

int[][]数组1=new int[11][11];

数组1[1][2]=1;

数组1[2][3]=5;

数组1[3][4]=9;

for(int I=0;IAR射线1。长度-1;I){ 0

for(int j=0;贾雷1号。长度-1;j ){

系统。出去。print(数组1[I][j]' \ t ');

}

系统。出去。println();

}

系统。出去。println('=========================================================' '

'====================================');

//判断有多少个有效数值

int sum=0;

for(int I=0;IAR射线1。长度-1;I){ 0

for(int j=0;贾雷1号。长度-1;j ){

if(array1[i][j]!=0){

总和;

}

}

}

System.out.println('有效数值有总和个');

//建立一个稀疏数组

int[][]数组2=new int[sum 1][3];

数组2[0][0]=11;

数组2[0][1]=11;

数组2[0][2]=sum;

//计数记数

int count=0;

for(int I=0;IAR射线1。长度;I){ 0

for(int j=0;jarray1[i].长度;j ){

if(array1[i][j]!=0){

计数;

//数组2[计数][0]横坐标=i

//数组2[计数][1]纵坐标=j

//数组2[计数][2]值=array1[i][j]

数组2[计数][0]=I;

数组2[计数][1]=j;

数组2[计数][2]=数组1[I][j];

}

}

}

for(int x[

for(int x : x){ 0

系统。出去。打印(IntX ' \ t ');

}

系统。出去。println();

}

系统。出去。println('=========================================================' '

'====================================');

//还原稀疏数组

//建立一个二维数组

int[][]数组3=new int[数组2[0][0]][数组2[0][1]];

for(int I=1;IAR射线2。长度;I){ 0

//array3[array2的横坐标][array2的纵坐标]=array2[i][2]

数组3[数组2[I][0]][数组2[I][1]]=数组2[I][2];

}

for(int x[

for(int x : x){ 0

系统。出去。打印(IntX ' \ t ');

}

系统。出去。println();

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116866.html

(0)

相关推荐

  • Android消息机制Handler用法有哪些

    技术Android消息机制Handler用法有哪些这篇文章主要讲解了“Android消息机制Handler用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Andr

    攻略 2021年11月30日
  • Tomcat中如何清理缓存

    技术Tomcat中如何清理缓存这篇文章将为大家详细讲解有关Tomcat中如何清理缓存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、关于Tomcat“缓存”的介绍 很多时候

    攻略 2021年12月11日
  • 怎么备份微信聊天记录,微信6.3.1怎样备份聊天记录

    技术怎么备份微信聊天记录,微信6.3.1怎样备份聊天记录第一种怎么备份微信聊天记录、通过微信的聊天记录迁移保存 这个方式无论是安卓手机和苹果手机都可以,方法如下:
    打开设置——通用——聊天记录迁移——选择需要上传的信息

    生活 2021年10月29日
  • 广度优先查找之迷宫问题

    技术广度优先查找之迷宫问题 广度优先查找之迷宫问题1 from collections import deque2 3 maze = [4 [1, 1, 1, 1, 1, 1, 1, 1, 1,

    礼包 2021年12月6日
  • 怎么使用awk语言编写脚本

    技术怎么使用awk语言编写脚本这篇文章将为大家详细讲解有关怎么使用awk语言编写脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。和写 shell 脚本差不多,awk 脚本以下面这一行

    攻略 2021年10月26日
  • html进度条代码(html进度条显示百分比)

    技术html5进度条的标签是哪个本篇内容主要讲解“html5进度条的标签是哪个”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5进度条的标签是哪个”吧!

    攻略 2021年12月15日