我想了很久,但是发现有个简单粗暴的方法:
把堆节点大小转化为二进制。比如7个节点,转化之后是 111。
忽略左边第一位,然后如果是1,就往右走,0,往左走。直至最后,就找到了最右节点。
比如7,忽略第一位后是“11”,往右走两次,就是最右节点。
至于,为什么,在纸上画几次之后就知道啦。这里就不详细展开了。
我想了很久,但是发现有个简单粗暴的方法:
把堆节点大小转化为二进制。比如7个节点,转化之后是 111。
忽略左边第一位,然后如果是1,就往右走,0,往左走。直至最后,就找到了最右节点。
比如7,忽略第一位后是“11”,往右走两次,就是最右节点。
至于,为什么,在纸上画几次之后就知道啦。这里就不详细展开了。
转载于:https://www.cnblogs.com/zqiguoshang/p/5944713.html