第1题
A、2k
B、2k+1
C、2k-1
D、2k
第3题
针对一棵前序线索二叉树:
(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;
(2)编写算法,实现二叉树到前序线索二叉树的转换;
(3)编写算法,在以1为根的子树中求指定结点p的父结点;
(4)编写算法,求以t为根的子树的前序下的第一个结点
(5)编写算法,求以t为根的子树的前序下的最后一个结点;
(6)编写算法,求结点t的前序下的后继结点:
(7)编写算法,求结点t的前序下的前驱结点;
(8)编写算法,实现前序线索二叉树的前序遍历.
第6题
第8题
假设在算法描述语言中引入指针的二元运算“异或”,若a和b为指针,则的运算结果仍为原指针类型,且
则可利用一个指针域来实现双向链表L。链表L中的每个结点只含两个域:data域和LRPtr域,其中L RPtr域存放该结点的左邻与右邻结点指针(不存在时为NULL) 的异或。若设指针L.Left指向链表中的最左结点,L.Right指向链表中的最右结点, 则可实现从左向右或从右向左遍历此双向链表的操作。试写一算法按任一方向依次输出链表中各元素的值。
第9题
(1)试定义该广义表的类结构,
(2)采用递归的算法对一个非递归的广义表进行遍历。
(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。
第10题
间的一条最短路径,假设从初始顶点到目标顶点之间存在路径。现有一种解决该问题的方法:
(1)设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;
(2)选择离u最近且尚未在最短路径中的一个顶点v,加人到最短路径中,并修改当前结点u=v;
(3)重复步骤(2),直到u是目标顶点时为止。
请问上述方法能否求解最短路径?若该方法可行,请证明之;否则请举例说明。
第11题
以下说法错误的是 ()
A.一般在哈夫曼树中,权值越大的叶子离根结点越近
B.哈夫曼树中没有度数为1的分支结点
C.若初始森林中共有n裸二叉树,最终求得的哈夫曼树共有2n-1个结点
D.若初始森林中共有n裸二叉树,进行2n-1次合并后才能剩下一棵最终的哈夫曼树