证明二叉树节点数公式
n0 叶节点总数
n1 只有1个孩子的节点总数
n2 有2个孩子节点的总数
有: n0=n2+1
不那么严密地证明一下:
假设有完美二叉树1个, 共k层
那么最下层k层就是n0=2^(k-1)
再上面一层k-1层之上, 总共的节点, 其实都是有2个孩子的节点, 即 n2=2^(k-1) -1
代换一下就是 n2=n0-1
然后, 我们把完美二叉树 向 完全二叉树 推理.
在上面完美二叉树基础上,
从右下, 减一个节点, 这样造成的结果是, n0少了1个, 然后n2少了一个, n1多了一个. 所以n2和n1的关系不变.
然后再右下减一个节点,n0并没有减少, 因为少了两个叶子之后, 这两个叶子的父节点就变成叶子了. 所以n0不变,n2也不变.n2=n0+1 关系不变.
然后, 把完全二叉树向一般二叉树 推理
在上面完全二叉树的基础上,
从左下, 减少一个节点,.... 同上证明~~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现