要求二叉树按二叉链表形式存储,编写算法实现: (1)建立二叉树的算法。 (2)判别给定的二
要求二叉树按二叉链表形式存储,编写算法实现: (1)建立二叉树的算法。 (2)判别给定的二叉树是否是完全二叉树的算法。 (完全二叉树的定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K的满二叉树中编号从1~N的结点一一对应。此题以此定义为准)
要求二叉树按二叉链表形式存储,编写算法实现: (1)建立二叉树的算法。 (2)判别给定的二叉树是否是完全二叉树的算法。 (完全二叉树的定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K的满二叉树中编号从1~N的结点一一对应。此题以此定义为准)
(1)统计二叉树的叶结点个数。
(2)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(3)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
(4)用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
(5)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
(6)输出二叉树中从每个叶子结点到根结点的路径。
解题思路:二叉树的先序遍历非递归算法利用栈结构,从二又树的根结点开始,输出结点信息,同时将结点指针入栈,然后顺着左子树,依次将其左子树各个结点值输出,同时结点指针入栈,直到左子树为空;然后让栈顶指针出栈,接着处理右子树。
(2)统计二叉树中度为2的结点个数。
(3)统计二叉树中度为0(叶结点)的结点个数。
(4)统计二叉树的深度。
(5)统计二叉树的宽度,即在二叉树的各层上,具有结点数最多的那一层上结点总数。
(6)从二叉树中删去所有叶结点。
(7)计算二叉树中指定结点*p所在层次。
(8)计算二叉树中各结点中的最大元素的值。
(9)以前序次序输出一棵二叉树所有结点的数据值及结点所在的层次。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!