2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题
● 摘要
目录
2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题(一) . 2 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题(二) . 9 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题(三) 13 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题(四) 19 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研强化模拟题(五) 24
第 1 页,共 28 页
一、填空题
1. 试利用下列栈和串的基本操作完成下述填空题。
initstack (S ) 置S 为空找; push (S , X ) 元素X 入找; pop (S ) 出栈操作; gettop (S ) 返回栈顶元素; sempty (S ) 判找空函数;
置串 判串 返回联接
empty (st ) 判串空函数
{若给定的表达式的前缀式pre 正确,本过程求得和它相应的表达式exp 并返回true , 否则exp 为空串,并返回false 。已知原表达式中不包含括弧,opset 为运算符的集合。)
注意:毎个空格只填一个语句。
第 2 页,共 28 页
为空串;
是否相等的函数;
之后的串;
length (st ) 返回串st 的长度;
sub (S , i , 1) 返回S 中第i 个字符;
【答案】(1)(2)(3)(4)(5)(6)(7)exp (8)(9)exp (10)(11
)(12)
栈S 初始化为空栈 串exp 初始化为空串 判取出字符是否是操作符
如ch 是运算符,则入操作符栈s 判栈8是否为空
若读出ch 是操作数且栈为空,则按出错处理
若ch 是操作数且栈非空,则形成部分中缀表达式
取栈顶操作符 操作符取出后,出栈
将pre 的最后一个字符(操作数)加入到中缀式exp 的最后
2. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为
3. 己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需_____次查找成功,查找47时_____成功,查找100时,需_____次才能确定不成功。
【答案】2;4;3
【解析】二分法查找元素次数列表
查
找100是找到115就停止了。
4. 对于一个具有n 个结点的二叉树,当它为一棵_____二叉树时具有最小高度,当它为一棵_____ 时. 具有最大高度
【答案】完全;只有一个叶结点的二叉树
5. 设有一个空找,栈顶指针为1000H (十六进制),现有输入序列为1,2,3, 4, 5,经过PUSH ,PUSH , POP , PUSH , POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序栈,每个元素占4个字节。
【答案】23; 100CH
第 3 页,共 28 页
6. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。
注:(1)图的顶点号从0开始计;
(2)indegree 是有n 个分量的一维数组,放顶点的入度, (3)函数crein 用于记算顶点入度;
(4)有三个函数push (data ), pop( ), check( )其含义为数据data 入浅,出栈和测试栈是否空(不空返回1, 否则0)。
)
.
【答案】0; j; i; 0; indegree[i]=0; [vex][i]; k==l; indegree[i]=0
【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度 为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的 入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。
7. 高度为4的3阶B-树中,最多有_____个关键字。
【答案】26
【解析】第4层是叶结点,1层至3层每个结点两个关键字,每个节点的关键字达到最大时,关键字最多。
8. 求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e
【答案】克鲁斯卡尔
【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。
9. 阅读下列程序,指出其功能,并写出空格处应填上的语句。
第 4 页,共 28 页
;
(“图有回路”)
相关内容
相关标签