java 简化数组 稀疏数组
什么是稀疏数组
这种含有大量0或者同一个数值的情况下就可以考虑使用稀疏数组
通常来说为一个二维数组里面存放了大量 空 数值 例如
0 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
3 0 0 0 0 0 此数组为 7行6列数组 但实际有效值只有三个
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 5 0
第一行记录的信息是原始二维数组的行、列信息以及有效数据的个数
3 7 6 >>>>此为转换后的数组 转换成为了一个4行3列的数组 3代表 原数组有三个有效数据 ,原来的矩阵为7行6列
1 1 1 >>>>数据 1 在原数组的第二行第二列
3 3 0 >>>>数据 3 在原数组的第四行第1列
5 6 4 >>>>数据 5 在原数组的第六行第5列 [依次存储的是有效数据的行、列信息以及所代表的数值。
以下为代码实现
public class ArrayTest {
public static void main(String[] args) {
// 创建一个为7行6列的二维数组
int [][]arr = new int;
//赋值
arr=1;
arr=3;
arr=5;
int count = 0;
//转换为稀疏数组以此简化数组
// 一 判断有效元素个数
for (int i=0;i<7;i++){
for (int k=0;k<6;k++){
if (arr!= 0) {
count++;
}
}
}
//创建稀疏数组 sparseArray。
int [][] sparseArr = new int;
sparseArr= count;
sparseArr= 7;
sparseArr= 6;
// 1 循环判段到一个有效数
int n = 0;
for (int i=0;i<7;i++){
for (int k=0;k<6;k++){
if (arr!= 0) {
n++;
sparseArr=arr;
sparseArr= i;
sparseArr= k;
}
}
}
for(int i = 0;i< sparseArr.length;i++) {
System.out.printf("%d\t%d\t%d\t\n",sparseArr,sparseArr,sparseArr);
}
System.out.println();
}
}
数据结构?自学的? 丿吹雪灬 发表于 2021-8-20 17:21
数据结构?自学的?
看尚guigu视频学习后 试着自己能手写分享出来而已 围观大佬 炮娘 发表于 2021-8-20 17:25
看尚guigu视频学习后 试着自己能手写分享出来而已
那视频我一年前看过,建议看完数据结构学算法时直接刷LeetCode,那个老师表达的不是很清楚 丿吹雪灬 发表于 2021-8-20 17:51
那视频我一年前看过,建议看完数据结构学算法时直接刷LeetCode,那个老师表达的不是很清楚
leetCode网站 Edg浏览器 用者崩溃刷个题点以下就卡 我换个浏览器去看看 学废了,围观大佬
页:
[1]