已知一棵二叉树如右图,给出对这棵二叉树进行前序、中序、后序遍历的结果序列.
(
4
)
假设用于通讯的电文仅由
8
个字母组成,字母在电文中出现的频率分别为
{2
,
3
,
5
,
7
,
11
,
4
,
13
,
15}
,试为这
8
个字母设计哈夫曼编码.
(
5
)
在地址空间为
0~15
的散列区中,对以下关键字序列构
G
造哈希表,关键字序列为
(
Jan,Feb,Mar,
Apr,May,Jun,Jul
Aug,Sep,Oct,Nov,Dec
)
,
H(x)=[i/2]
,其中
i
为关键字中第一
字母在字母表中的序号。
要求用线性探测开放定址法处理冲突,
并求出在等概率情况下查找
成功的平均查找长度。
(
6
)
构造有
7
个元素组成的线性表一实例,是进行快速排序时比较次数最少的初始排序。
三、
写一算法,完成对这棵二叉树的左右子树的交换,设二叉树以二叉链表作存储结构。
[15
分
]
四、
编写一非递归算法,对一棵二叉排序树实现中序遍历。
[15
分
]
五、
编写程序,完成下列功能:
[15
分
]
1
.
读入整数序列,以整数
0
作为序列的结束标志(
0
不作为序列元素)
,建立一个单链表。
2
.
实现单链表原地逆转,
即单链表中结点指针方向反转,
反转操作不使用额外的链表结点,
可使用临时工作单元。
例:输入序列为:
1
,
8
,
4
,
3
,