BIT的浅谈,简单理解

转博客园(地址):http://www.cnblogs.com/justforgl/archive/2012/07/27/2612364.html 

先看一下这个图,可以找到一定的规律:

  1. 数组A的下标 等于  这一列上最高的部分数组C的下标
  2. 满二叉树的每一个结点对应数组A中的一个元素

A[1] = C[1]

A[2] = C[1] + C[2]

A[3] = C[3]

A[4] = C[1] + C[2] + C[3] + C[4]

A[5] = C[5]

A[6] = C[5] + C[6]

A[7] = C[7]

A[8] = C[1] + C[2] + C[3] + C[4] + C[5] + C[6] + C[7]  + C[8]

 而确定C有几项,又该如何确定?

感觉太巧妙啦。居然可以利用二进制来确定项数

从1 ~ 8的二进制列举

0001     项数1           0个0        2^0

0010     项数2           1个0        2^1

0011     项数1            0个0       2^0

0100     项数4            2个0       2^2

0101     项数1            0个0       2^0

0110      项数2            1个0      2^1

0111      项数1             0个0      2^0

1000      项数8            3个0       2^3

2 ^ x = i & (- i)

再续。。。。。。。。

猜你喜欢

转载自blog.csdn.net/qq_41818544/article/details/82713405
今日推荐