2017年军事医学科学院卫生勤务与医学情报研究所836计算机应用之数据结构考研强化模拟题
● 摘要
一、填空题
1. 试利用下列栈和串的基本操作完成下述填空题。
initstack (S ) 置S 为空找; push (S , X ) 元素X 入找; pop (S ) 出栈操作; gettop (S ) 返回栈顶元素; sempty (S ) 判找空函数;
置串 判串 返回联接
empty (st ) 判串空函数
{若给定的表达式的前缀式pre 正确,本过程求得和它相应的表达式exp 并返回true , 否则exp 为空串,并返回false 。已知原表达式中不包含括弧,opset 为运算符的集合。)
注意:毎个空格只填一个语句。
第 2 页,共 38 页
为空串;
是否相等的函数;
之后的串;
length (st ) 返回串st 的长度;
sub (S , i , 1) 返回S 中第i 个字符;
【答案】(1)(2)(3)(4)(5)(6)(7)exp (8)(9)exp (10)(11)(12)
2. 线性表
【答案】(n -1)/2
栈S 初始化为空栈 串exp 初始化为空串 判取出字符是否是操作符
如ch 是运算符,则入操作符栈s 判栈8是否为空
若读出ch 是操作数且栈为空,则按出错处理
若ch 是操作数且栈非空,则形成部分中缀表达式
取栈顶操作符 操作符取出后,出栈
将pre 的最后一个字符(操作数)加入到中缀式exp 的最后 用数组表示,假定删除表中任一元素的概率相同,则删除一个元素
平均需要移动元素的个数是_____。
【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为
3. 设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。
【答案】
【解析】哈夫曼树只有度为0和2的节点。
4. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。
【答案】稳定
5. 实现字符串拷贝的函数strcpy 为:
【答案】
6.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
第 3 页,共 38 页
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
7. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为
8. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件:另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____,_____和_____。B+树适用于组织_____的索引结构,m
阶个关键码。
【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;
9. 循环队列的引入,目的是为了克服_____。
【答案】假溢出时大量移动数据元素
【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。
10.对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
11.已知二维数组
为1000的连续存储区域时,
【答案】1196
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:
树每个结点至多有_____个儿子,除
根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____
中每个元素占4个单元,在按行优先方式将其存储到起始地址的地址是:_____。
第 4 页,共 38 页