节省空间

节省空间

简单性可以衍生出功能性、健壮性以及速度和空间。

问题:一个地理数据库中存储邻居的系统,一共有两千个邻居,编号范围为0-1999,每个邻居在地图中用一个点来描述。程序将选定的物理位置转换为0-199范围内的一对整数xy,然后使用(x,y)对指定出用户选中了2000个点中那一个点(如果有的话),因为在同一个位置(x,y)不可能存在两个点,所以程序员仅需要考虑用200*200的点标识符数组表示地图的模块。

方法1:用200*200的数组表示,存在数据将数据放入数组,不存在数据给特定数据-1占用空间80KB

方法2:稀疏矩阵的一种前线的便是发就是使用数组标书所有的列,同时使用链表来表示给定列中的活跃元素。

Colhead row next

0 -> 2,17 ->

1 -> 1,98 ->

2 -> ->

搜索点(i,j)

For (p = colhead[i]; p != NULL; p = p->next)

If p->row == j

Return p->pointnum

Return -1

占用空间24800个字节

方法3:在不支持指针和结构的版本实现,使用一个201元的数组来表示这些列,并用两个2000元的平行数组表示这些点。

Pointnum[z]:17, 538, 1053,  98,  15,  1800,...

Row   [y]: 2 ,  5,  126,   1,  138,   11,...

 

Firstincol[x] :0,  3,  5,  5,  ... 

           0   1  2   3 ...

 

数据空间技术

1.不存储,重新计算:以时间换空间

2.稀疏数据结构:消除存储同一对象众多副本的开销

3.数据压缩:32->16->8

4.分配策略:动态分配内存

垃圾回收:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值