关于图的二维矩阵转为一维数组的理解。

       一开始看二维矩阵转为一维数组的时候还是有点懵的,为啥是N(N+1)/2呢,为啥不是N*N/2呢,这个矩阵明明是N*N的一个正方形啊,我要省一半空间直接除2不就行了,带着这个问题我观察了一下这个PPT里的图片

 

 可以看到,如果我们要包含v2及以上的三角形的时候,我们会有1+2+3个数据,也就是结点数3(这个二维矩阵是从v0开始的,v2也就是第三个节点了)的一维数组要有6个空间来储存这三个结点间的关系(包括结点本身),那么显然,N*N/2就不能提供足够的空间来储存这种关系。

如果我们把每个0,1当成一单位的面积,那么原先N*N/2的三角形的面积总会装不下我们所要的关系(也就是0,1)的面积,画成图就是这样:

 只有用N*(N+1)的长方形切出来的三角形的面积才能装得下我们所需的0和1的面积。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值