- 李定航's Note
关于n进制与n叉树的一些思考
- 2025-3-6 22:02:46 @
不知大家在学习二进制或状态压缩时又没有想过这样一个问题:好像一个n位的二进制数码和一个高度为n+1的满二叉树相差不大,都可以表示个状态?今天,我想分享一下我的思考。
如图展示的是一棵满二叉树:
每一条边上都标注了数字0或1(按照边从左到右的顺序升序标注数字)
令满二叉树的深度为k(此处k=4),表示从根节点1号到u号节点的简单路径,表示边上标注的数字,表示u号节点的深度,注意到有如下方程:
成立
不妨来看几个例子:
从1到6的简单路径为,让我们对这个路径中每一条边取P值,得。上述方程描述的实际上就是 对于节点u构造一个二进制数,将数码“1”放在最前面,然后将我们先前得到的序列中的数码依次写在后面,最终得到的二进制数与u相等的结论(对于6,操作过程为:1->11->110,注意到)
大家可以尝试一下:对于任意满n叉树,都可以使用此方法得到相同的结论。(实际上是不想画图了)
丢个公式(其中N代表进制数):
总结:n进制数码的每一位可以表达从上一个状态推进到这一个状态的过程,而满n叉树上的节点则是过程得到的结果 (仅仅是我的想法)
PS:如果不是满n叉树,情况又会怎样呢?请听下回分解