当前位置: 首页 > wzjs >正文

网站建设创意深圳网络推广软件

网站建设创意,深圳网络推广软件,wordpress 函数手册,哪里可以做公司网站稀疏数组(Sparse Array) 是一种用于压缩存储大量默认值(通常是 0)的数组的数据结构。它通过只存储非默认值的元素及其位置来节省空间。稀疏数组常用于存储矩阵或二维数组,尤其是当数组中大部分元素为默认值时。 稀疏数…

稀疏数组(Sparse Array) 是一种用于压缩存储大量默认值(通常是 0)的数组的数据结构。它通过只存储非默认值的元素及其位置来节省空间。稀疏数组常用于存储矩阵或二维数组,尤其是当数组中大部分元素为默认值时。

稀疏数组的核心思想

普通数组的问题:

如果一个二维数组中有大量重复的默认值(如 0),存储这些值会浪费空间。

稀疏数组的解决方案:

只存储非默认值的元素及其位置。

使用一个三元组 (行, 列, 值) 来表示每个非默认值。

稀疏数组的结构

稀疏数组通常由两部分组成:

第一行:

存储原始数组的行数、列数以及非默认值的个数。

例如:[行数, 列数, 非默认值个数]。

后续行:

每一行存储一个非默认值的三元组 (行, 列, 值)。
在这里插入图片描述

package com.jianstudy.array;
public class ArrayDemo11 {public static void main(String[] args) {//稀疏数组学习//原始数组int[][] array1 = {{0,0,0,2,0},{0,0,3,0,0},{1,0,0,5,0},{0,4,0,0,0}};//获取原始数组有效值的个数int result = 0;//定义一个result存放有效值的个数for(int i =0;i< array1.length;i++){for(int j =0;j<array1[0].length;j++){if(array1[i][j]!=0){//判断如果对应某行某列的元素不等于0(即有效值)就让result自增result ++;}}}System.out.println("原始数组有效值有"+result+"个"); //原始数组有效值有5个     //创建一个数组存放稀疏数组int[][] array2 = new int[result+1][3]; //稀疏数组的长度是[5+1][3] 6行3列/*稀疏数组的一层是行数,有效值的个数+1(多一行表示头部信息 用来存放 行,列,有效值)稀疏数组的二层是列数固定3   (1列存放的行,2列存放的列,3列存放的有效值)*///用二维数组的长度来表示稀疏数组的头部 行 信息array2[0][0]= array1.length;//初始化  把原始数组行的长度 赋给 稀疏数组的第一行第一列//因为原始数组是规则的二维数组,所以每一组二维数组的内层一维数组长度是一样的所以可以随便取一组来获取内层一维数组的长度//用内层的一维数组的长度来表示稀疏数组的头部 列 信息array2[0][1]= array1[0].length;//初始化  把原始数组列的长度 赋给 稀疏数组的第一行第二列//用result表示稀疏数组的头部有效值信息array2[0][2]=result;//初始化  把获得有效值的个数 赋给 稀疏数组的第一行第三列/*       得到头部信息(第一行)行 列 有效值        *///填充稀疏数组//第一次循环会把头部信息遍历出来,后续得到的都是有效值元素的行列坐标以及有效元素本身的值int count =0;//计数 稀疏数组的有效值行数for(int i=0  ;i< array1.length ;i++){for(int j=0 ;j<array1[0].length;j++){if(array1[i][j]!=0){//如果原始数组的某个值不为0(即有效值)执行以下代码                count++;array2[count][0] = i;//稀疏数组有效值的行坐标array2[count][1] = j;//稀疏数组有效值的列坐标array2[count][2] = array1[i][j];//稀疏数组的有效值  }}}//输出稀疏数组System.out.println("输出稀疏数组");for(int i = 0;i<array2.length;i++){//因为稀疏数组的列数是固定的所以只需要循环行数iSystem.out.println( array2[i][0]+" "+ array2[i][1]+" "+ array2[i][2]+" ");/*此时的稀疏数组  array2 =[5+1][3] 6行3列0	 1    20头部信息 行4 列5 有效值51 		  0   3   22 		  1   2   33 		  2   0   14 		  2   3   55 		  3   1   4array2 = {{4 5 5},{0 3 2},{1 2 3},{2 0 1},{2 3 5},								 {3 1 4}} 		*/    }//还原稀疏数组//1.读取稀疏数组        //稀疏数组的头部行列信息就是还原数组的外内层元素。且隐性的初始化还原数组array3的各个元素					int[][] array3 = new int[array2[0][0]][array2[0][1]];//array2[0][0]=4 array2[0][1]=5/*  			头部信息    行4 列5int[][] array3 = new int[4][5];array3[0][0]=0;.........array3[3][4]=0;	4*5=20个元素全部被隐性的初始化*///2.给其中的元素还原他的值。for (int i = 1; i < array2.length; i++) {//要从第二行开始,第一行是头部信息i=1就是第二行开始 如果i=0就会读到头部信息/*0 1行  头部信息 行4 列5 有效值5        1 2行            0   3   2			 			1 2行 0 3 22 3行  		   1   2   3						2 3行 1 2 33 4行  		   2   0   1	 		-------->   3 4行 2 0 14 5行  		   2   3   5						4 5行 2 3 55 6行  		   3   1   4                        5 6行 3 1 4*///这里可以看成初始化array3的元素。还原数组接收稀疏数组有效值,匹配的是稀疏数组有效值的行列                array3[array2[i][0]][array2[i][1]]=array2[i][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},{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,2,0},{0,0,3,0,0},{0,0,0,0,0},{0,0,0,0,0}}{{0,0,0,2,0},{0,0,3,0,0},{1,0,0,0,0},{0,0,0,0,0}}								{{0,0,0,2,0},{0,0,3,0,0},{1,0,0,5,0},{0,0,0,0,0}}{{0,0,0,2,0},{0,0,3,0,0},{1,0,0,5,0},{0,4,0,0,0}}*/            }System.out.println("=============");//3.使用for each循环打印还原后的稀疏数组for(int[] a:array3){for(int b:a){System.out.print(b+" ");}System.out.println();}}
}

在这里插入图片描述

http://www.dtcms.com/wzjs/49285.html

相关文章:

  • 做衣服接订单的网站外贸建站与推广如何做
  • 商务网站建设的步骤关键词优化的建议
  • 网站排名软件推荐网络舆情监测
  • 万网人网站备案流程成都做网络推广的公司有哪些
  • 市住房城乡建设委官方网站资格查询百度竞价点击价格
  • 什么网站有做面条的app十大搜索引擎入口
  • 做网站辛苦吗网络营销推广策划步骤
  • html设计素材网站百度福州分公司
  • 不写代码门户网站建设网络推广营销方案免费
  • 南阳网站制作哪家好广告公司名称
  • 湖南餐饮网站建设国内军事新闻最新消息
  • 中英文网站制作网站域名查询官网
  • 网站集约化建设难点制作公司网站的公司
  • 好的做网站公司深圳网站推广
  • 转入已备案网站域名查询网站入口
  • 学做网站要什么学历快速seo整站优化排行
  • 传奇怎么做网站个人网页制作成品
  • 做多语言版本网站申请一个网站
  • 在做好政府网站建设方面seo在线优化工具
  • 文本分析网站软文推广文章范文1000
  • 网站规划和建设方案谷歌seo网站优化
  • 制服定制公司windows优化大师手机版
  • it运维管理软件排名seo技术培训班
  • 有做教育行业的招聘网站吗外贸营销网站建设
  • 嘉兴网站排名优化报价不屏蔽的国外搜索引擎
  • 做经营性的网站需要注册什么条件全网整合营销推广
  • 辽宁省住房和城乡建设厅官网安卓优化大师手机版
  • 网站如何在百度搜索到互联网推广公司排名
  • 湖南企业网站建设制作企业推广语
  • 静态网页制作网站seo网站推广专员