代码风格

  • 不甚了解是不能更了解的意思,这个地方应该使用存疑。
  • 后期在不断优化,’在’应为’再’。
  • googlec++编程规范,Google拼写错误

代码本地编译

  • 粘到本例来运行存疑,应为本地
  • 本题运行存疑,应为本地

ACM二叉树

  • 左孩子和右孩子的下标不太好理解。我给出证明过程:
    如果父节点在第编程素养部分的吹毛求疵 - 图1层,第编程素养部分的吹毛求疵 - 图2个节点,则其左孩子所在的位置必然为编程素养部分的吹毛求疵 - 图3层,第编程素养部分的吹毛求疵 - 图4%2B1#card=math&code=2%2A%28m-1%29%2B1)个节点。

    • 计算父节点在数组中的索引: 编程素养部分的吹毛求疵 - 图5%2Bm-1%3D2%5Ek-1%2Bm-1%0A#card=math&code=index%7Bfather%7D%3D%28%5Csum%7Bi%3D0%7D%5E%7Bi%3Dk-1%7D2%5Ei%29%2Bm-1%3D2%5Ek-1%2Bm-1%0A)
  • 计算左子节点在数组的索引: 编程素养部分的吹毛求疵 - 图6%2B2*m-1-1%3D2%5E%7Bk%2B1%7D%2B2m-3%0A#card=math&code=index%7Bleft%7D%3D%28%5Csum%7Bi%3D0%7D%5E%7Bi%3Dk%7D2%5Ei%29%2B2%2Am-1-1%3D2%5E%7Bk%2B1%7D%2B2m-3%0A)
  • 故左孩子的下表为编程素养部分的吹毛求疵 - 图7,同理可得到右子孩子的索引关系。也可以直接在左子孩子的基础上+1