设一棵完全二叉树中有500个结点,则该二叉树的深度为多少?若用二叉链表作为该完全二叉树的存储结构,则共

如图

设一棵完全二叉树中有500个结点,则该二叉树的深度为多少?若用二叉链表作为该完全二叉树的存储结构,则共

完全二叉树(存在单分支)对应的二叉链表

设一棵完全二叉树中有500个结点,则该二叉树的深度为多少?若用二叉链表作为该完全二叉树的存储结构,则共

求空指针域即求先孩子结点个数×2再+1(此处的1就是单分支结点的空指针域)

深度为9的完全二叉树前8层是满二叉树,共2⁸-1=255个结点

第9层有500-255=245个结点(245为奇数可知其父结点一定有单分支),其父结点个数为244/2+1=123(其中有一个单分支结点)

第8层有2⁷=128个结点,其中叶子结点个数128-123=5(不明白看下图)

设一棵完全二叉树中有500个结点,则该二叉树的深度为多少?若用二叉链表作为该完全二叉树的存储结构,则共

所以空指针域个数=245×2+5×2+1=501个

 

纯手打不容易,希望有帮助

上一篇:AcWing 245. 你能回答这些问题吗


下一篇:Qt QTabWidget stylesheet 的一个例子