- UID
- 7437
- 精华
- 积分
- 1180
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
发表于 2022-6-23 07:20:23
|
显示全部楼层
本帖最后由 tlwh163 于 2022-6-23 08:44 编辑
'我有点不明白 我计算了以下八叉树的数据量 按照这个题意 最多8层就到叶子节点了 那么:
'
'For i = 0 To 8
'sum = sum + (8 ^ i)
'next
'
'sum = 19173961 ''18.3M
'
'每个子节点要记录[像素数,红累加,绿累加,蓝累加] 因此: sum = sum*(4+4+4+4)= 292.6M
'
'就是说有292.6M的内存空间就可以装下完整的八叉树 好像并不怎么困难啊
''根 节点 1
''1级节点 有效节点数量 1维数组(7) 8
''2级节点 有效节点数量 2维数组(7,7) 8*8=64
''3级节点 有效节点数量 3维数组(7,7,7) 8*8*8=512
''4级节点 有效节点数量 4维数组(7,7,7,7) 8*8*8*8=4096
''5级节点 有效节点数量 5维数组(7,7,7,7,7) 8*8*8*8*8=32767
''6级节点 有效节点数量 6维数组(7,7,7,7,7,7) 8*8*8*8*8*8=262144
''7级节点 有效节点数量 7维数组(7,7,7,7,7,7,7) 8*8*8*8*8*8*8=2097152
''8级节点 有效节点数量 8维数组(7,7,7,7,7,7,7,7) 8*8*8*8*8*8*8*8=16777216
如果第8级有效数量>256 把像素数最少的节点从上级节点中扣除并清除该节点 直到有效数量<256
这个思路如何? 请指教 |
|