四叉树的问题

「已注销」 2014-02-12 09:10:17
一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针有(3*n+1)个空指针.
4*n-(n-1) = 3*n+1
为什么
...全文
487 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2014-02-18
  • 打赏
  • 举报
回复
可算绕出来了,谢谢各位!
buyong 2014-02-17
  • 打赏
  • 举报
回复
等比数列求和公式可以用在这里,很容易算出最后一层的节点数是(3n+1)/4 然后空指针数再*4 http://baike.baidu.com/link?url=HXEsRDz6ys1KJ5EVGaavIS4o7SB2acCYM76pK9t6Vt6fwBL61s0xbEVsKNPTcqtzMQ1zWWHWTMJ-_n75xU4rNq
zxvivian 2014-02-13
  • 打赏
  • 举报
回复
因为每个树都有一个头结点。头结点下面是4个子结点,然后每个子结点又有4个子节点。 例如一个2层的四叉树,就会有5个结点,但头结点并不能计算进去。他的4个子节点下面接的都是空指针,可以得出空指针的个数为4*4=16个。这个时候n=5,则4*n-(n-1)=4*5-(5-1)=16。
Carl_CCC 2014-02-13
  • 打赏
  • 举报
回复
最简单的理解就是,n个节点一定就有4n个指针。 除了root节点,所有的节点都用了一个指针,就是用了n-1个 所以答案就是 4n -n +1 = 3n +1

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧