首页 > Java > java教程 > 正文

java稀疏数组是什么

冷漠man
发布: 2025-12-15 13:56:51
原创
350人浏览过
稀疏数组是压缩存储大量零值二维数组的结构,首行存原数组行列数和有效值个数,后续每行存一个非零值的行列下标及值,用于节省内存并支持还原。

java稀疏数组是什么

Java稀疏数组是一种专门用来压缩存储“大量零值或重复值”的二维数组的数据结构。它不保存全部元素,只记录那些真正有意义的非零(或非默认)值及其位置,从而大幅减少内存占用

稀疏数组长什么样

它本身就是一个普通的二维int数组,但有固定格式:

  • 第一行存三个数:原数组总行数、总列数、有效值个数
  • 后面每一行存一个有效值:行下标、列下标、对应值

比如原数组是11×11,只有[1][2]=1[2][3]=2两个非零值,那稀疏数组就是4行3列:
[0][0]=11, [0][1]=11, [0][2]=2
[1][0]=1, [1][1]=2, [1][2]=1
[2][0]=2, [2][1]=3, [2][2]=2

为什么用稀疏数组

核心就一个字:省。

十天学会PHP教程
十天学会PHP教程

以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。

十天学会PHP教程 502
查看详情 十天学会PHP教程
  • 原数组1000×1000,但只有20个非零值?直接存要100万个int;稀疏数组只要21行×3列 = 63个int
  • 适合棋盘、地图、用户行为矩阵这类“大面积空白+少量标记”的场景
  • 还能序列化到文件,之后精准还原原始结构

稀疏数组怎么用

实际使用分三步:

立即学习Java免费学习笔记(深入)”;

  • 遍历原数组,统计非零值个数,创建稀疏数组(大小 = 个数 + 1 行)
  • 把第一行填上行列信息和总数,后续每行填一个有效值的坐标和值
  • 需要时,再按稀疏数组内容反向重建原数组(先建空数组,再逐行赋值)

基本上就这些。不复杂但容易忽略第一行的元数据作用——少了它,根本没法还原原数组。

以上就是java稀疏数组是什么的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号