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

网站开发工程师职业定位360网站推广客服电话

网站开发工程师职业定位,360网站推广客服电话,邯郸网站建设有哪些,莱芜庞允盟最近在学习java数据结构和算法,每个重点知识我都会以 “思想原理 代码 总结” 的方式写一篇博客,方便自己以后复习,并分享给大家。如有问题,欢迎指出。 下图是一个二维数组所对应的稀疏数组: 映射关系:…
最近在学习java数据结构和算法,每个重点知识我都会以 “思想原理 + 代码 + 总结” 的方式写一篇博客,方便自己以后复习,并分享给大家。如有问题,欢迎指出。

下图是一个二维数组所对应的稀疏数组:

映射关系:对于一个二维数组,它所对应的稀疏数组的第一行存储的是二维数组的行,列和二维数组中有效值的个数。后面的几行分别存储的是二维数中有效值所在的行,列和它的实际值。
在这里插入图片描述

代码实现:

package com.guigu.sparsearray;public class SparseArray {public static void main(String[] args) {//创建一个11*11的二维数组	int chessArr1[][] = new int[11][11];chessArr1[0][2] = 5;chessArr1[1][2] = 1;chessArr1[2][3] = 2;chessArr1[4][5] = 2;//输出原始的二位数组System.out.println("原始的二维数组~~");for(int[] row : chessArr1) {for(int data : row) {System.out.print(data + " ");}System.out.println();}//将二维数组转为稀疏数组//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 += 1;}}}//2.创建对应的稀疏数组int sparseArr[][] = new int[sum+1][3];//给稀疏数组赋值sparseArr[0][0] = 11;sparseArr[0][1] = 11;sparseArr[0][2] = sum;//遍历二维数组,将非0值存放到sparseArr中int count = 0; //count用于几个是第几个非0数据for(int i = 0;i < chessArr1.length;i++) {for(int j = 0;j < chessArr1[i].length;j++) {if(chessArr1[i][j] != 0) {count++;sparseArr[count][0] = i;sparseArr[count][1] = j;sparseArr[count][2] = chessArr1[i][j];}}}//输出稀疏数组的形式System.out.println();System.out.println("稀疏数组的形式~~");for(int i = 0;i < sparseArr.length;i++) {for(int j = 0;j < sparseArr[i].length;j++) {System.out.print(sparseArr[i][j] + " ");}System.out.println();}//将稀疏数组转为二维数组/** 1.先读取稀疏数组的第一行,获取到原始二维数组的信息(行数,列数,有效值的个数)* 2.再读取稀疏数组的后几行数据,并赋给原始的二维数组即可。*///1.先读取稀疏数组的第一行,根据第一行数据,创建二维数组int chessArr2[][] = new int[sparseArr[0][0]][sparseArr[0][1]];//2.读取剩下每一行的数据,并赋给二维数组for(int i = 1;i < sparseArr.length;i++) {chessArr2[sparseArr[i][0]][sparseArr[i][1]] = sparseArr[i][2]; }//输出恢复后的二维数组System.out.println();System.out.println("恢复后的二维数组~~");for(int[] row : chessArr2) {for(int data : row) {System.out.print(data + " ");}System.out.println();}}}

输出结果:

原始的二维数组~~
0 0 5 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 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 稀疏数组的形式~~
11 11 4 
0 2 5 
1 2 1 
2 3 2 
4 5 2 恢复后的二维数组~~
0 0 5 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 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 

总结:稀疏数组就是对二维数组的"压缩",减少了空间的浪费。在代码实现过程中,注意要先求的二维数组中有效值的个数,才能确定稀疏数组除第一行外还有几行,才能准确创建稀疏数组;稀疏数组赋值时,在给除第一行外的其他值赋值时,要声明一个辅助变量,每次增加1,来存储二维数组有效值的信息,第一次赋值时就应该先加1,从二行开始存储。

http://www.lbrq.cn/news/2725579.html

相关文章:

  • 网站首页模板免费下载汕头seo外包公司
  • 网站建设的博客外贸网站平台哪个好
  • wordpress靶机seo外链建设方法
  • 素锦wordpressseo网站诊断分析报告
  • app与网站的区别是什么一个网站的seo优化有哪些
  • 添加网站描述电商平台怎么注册
  • 心理服务网站建设内容seo站内优化站外优化
  • 江宁网站建设要多少钱怎么自己创建网页
  • 公司网站建设付款分录沈阳seo关键字优化
  • 如何做公司网站营销型网站制作
  • 沈阳网站建设推广域名是什么意思
  • wordpress怎么编辑保存王通seo
  • 北京塞车网站建设青岛网站建设制作推广
  • 什么网站做家具外贸好呢seo的中文含义是什么
  • 郑州本地做团购的网站提高网站排名的软件
  • 如何盗取网站理发美发培训学校
  • 网站改版注意事项站长素材官网免费
  • 厦门集团网站建设今日竞彩足球最新比赛结果查询
  • 猪八戒网站做推广靠谱吗360站长平台链接提交
  • 徐汇做网站郑州网络营销
  • 家居行业网站建设怎么投放广告是最有效的
  • 建筑公司网站模板免费下载亚洲足球最新排名
  • 佛山营销网站建设推广百度首页关键词推广
  • 网站日常运营游戏推广平台代理
  • 提供网站制作公司报价seo排名优化什么意思
  • javascript网站制作上海seo网络优化
  • 云南网站做的好的公司seo服务合同
  • wordpress 文件下载漏洞百度关键字优化价格
  • 个人建购物网站怎么备案怎么自己做网页
  • centos 6.5 搭建wordpresswindows优化大师可以卸载吗
  • 科普:Pygame 中,`pg.Surface` v.s. `screen`
  • Storage.AI解读:构建AI数据基础设施的开放标准
  • 数据结构:二叉树的表示方式(Representation of Binary Trees)
  • 自学大语言模型之Transformer的Tokenizer
  • ATAM:基于场景的软件架构权衡分析法
  • python的艺术品收藏管理系统