用算法说明在对称序线索树中,如何对任意给定的结点直接找出该结点的对称序后继。【山东大学1999六、
以二叉链表作为二叉树的存储结构,编写以下算法:
(1)统计二叉树的叶结点个数。
(2)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(3)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
(4)用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
(5)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
(6)输出二叉树中从每个叶子结点到根结点的路径。
A、前序线索二叉树
B、中序线索二叉树
C、后序线索二叉树
D、层次序线索二叉树
针对一棵前序线索二叉树:
(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;
(2)编写算法,实现二叉树到前序线索二叉树的转换;
(3)编写算法,在以1为根的子树中求指定结点p的父结点;
(4)编写算法,求以t为根的子树的前序下的第一个结点
(5)编写算法,求以t为根的子树的前序下的最后一个结点;
(6)编写算法,求结点t的前序下的后继结点:
(7)编写算法,求结点t的前序下的前驱结点;
(8)编写算法,实现前序线索二叉树的前序遍历.
图所示电路为测定相序的电路。如果,且电源电压对称,说明此仪器是如何指示相序的。若将电容C换为电感L,且ωL=R,此仪器是否仍能指示相序?请给出分析,并画出相量图。
二叉搜索树中,然后对树进行中序遍历,并将元素按序放人数组a中,为简单起见,假设a中的数据互不相同。试编写一个函数,从一棵二叉搜索树中删除最大元素。要求函数的时间复杂性必须是O(h),其中h是二叉搜索树的高度。
若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为()。【南京理工大学1996一、6(2分)】
A.X的双亲
B.X的右子树中最左的结点
C.X的左子树中最右结点
D.X的左子树中最右叶结点
二叉树以二叉链表存储,写出对二叉树进行先序遍历的非递归算法。
解题思路:二叉树的先序遍历非递归算法利用栈结构,从二又树的根结点开始,输出结点信息,同时将结点指针入栈,然后顺着左子树,依次将其左子树各个结点值输出,同时结点指针入栈,直到左子树为空;然后让栈顶指针出栈,接着处理右子树。