2002 年上海华东师范大学数据结构考研真题
一.(12 分)已知一颗树的层次表示为(0,A),(1,B),(2,C),(2,D),(2;E),
(1,F),(2,G),(2,H,(1,D,(2,K),(2,D,(3,L),
(1)画出这棵树;
(2)写出树的次数;
(3)将这棵树转换为二叉树;
(4)按后序遍历这棵二叉树,写出结果的结点序列。
二.(12 分)设结点序列为{6,16,22,24,26,28,31,32,34,38}。
(1)用平分法构造该结点序列的查找树;
(2)画出从查找树中依次删除结点 34,32,22 后的查找树;
(3)画出再依次将 22,32,25 插入后的查找树;
(4)用什么方法遍历新的查找树,可以使结点序列有序。
四.(8 分)以排序码序列(53,87,51,61,98,17,89,25)为例,手工执行以 下算法,
写出排序过程中排序码位置的变动情况,
(1)希尔排序(步长 d1=5)
(2)选择排序.
五.(12 分)对右图所示的有向图给出其∶
(1)代价邻接矩阵;
(2)邻接表;
(3)如有拓扑排序,则写出其中的一个,
如没有拓扑排序,则给出结论;
(4)从顶点①到其它各顶点的最短路径的长度。
六.(8 分)给定结点序列{A,B,C,D,E,F,G,H,及其权 15,10,2,7,4,11,19,9,
画出以它们为叶结点的 Huffman 树,给出求解的过程。
七.(8 分)写一个函数,实现计算一棵二叉树上所有分支结点数。
八.(8 分)假设有一个顺序存储的线性表 L,L 中的元素都是整数。写一个函数,将 L 分为
两个线性表。要求∶
(1)L1 中的元素由 L 中所有元素值小于其序号的元素构成;L2 中的元素由 L 中所有元素值不
小于其序号的元素构成;
(2)L1L2,中的元素的相对次序分别与 L 中的相应元素的相对次序相同;
(3)两个子表存储在原表 L 中,L1 在前,L2 在后。
九.(10 分)给定如图的二叉树,
(1)写出该树的括号表示;
(2)写一个函数,实现由二叉树的括号表示建立按标准存贮的二叉树。
十.(12 分)假定二叉树 T 中,各结点的值都是整数,且两两互不相等。写一个函数,根据
T 的中序和后序结点序列(分别存储在两个整数数组中),建立以标准形式存储的二叉树。