炮娘 发表于 2021-8-20 16:51

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

数据结构?自学的?

炮娘 发表于 2021-8-20 17:25

丿吹雪灬 发表于 2021-8-20 17:21
数据结构?自学的?

看尚guigu视频学习后 试着自己能手写分享出来而已

Cloverud 发表于 2021-8-20 17:32

围观大佬

丿吹雪灬 发表于 2021-8-20 17:51

炮娘 发表于 2021-8-20 17:25
看尚guigu视频学习后 试着自己能手写分享出来而已

那视频我一年前看过,建议看完数据结构学算法时直接刷LeetCode,那个老师表达的不是很清楚

炮娘 发表于 2021-8-20 17:59

丿吹雪灬 发表于 2021-8-20 17:51
那视频我一年前看过,建议看完数据结构学算法时直接刷LeetCode,那个老师表达的不是很清楚

leetCode网站 Edg浏览器 用者崩溃刷个题点以下就卡   我换个浏览器去看看

cglwudi 发表于 2021-11-15 16:41

学废了,围观大佬
页: [1]
查看完整版本: java 简化数组 稀疏数组