南开大学816C语言和程序设计,2017年南开大学软件学院816C语言与数据结构[专业硕士]考研题库...

一、填空题

1. 实现字符串拷贝的函数strcpy 为:

【答案】

2. 阅读下列程序,指出其功能,并写出空格处应填上的语句。

【答案】

【解析】本题是在哈希表ht[]中插入值为的元素,如该元素已在哈希表中,报告出错。

3. 设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。

【答案】

【解析】哈夫曼树只有度为0和2的节点。

4. 设数组数组中任一元素均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么

(1)存放该数组至少需要的单元数是_____;

(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素【答案】270; 27; 2204 【解析】

数组的元素个数为需要

第8列有9个元素,共占个单元。按列存储时,

因为每个元素占内存48个二进制位,即6个字节。故总

个单元数。

个字节,因此至少需要的起始地址为

第 2 页,共 53 页

的起始地址是_____。

个字节,因为主内存字长为16位,即2个字节,所以至少需要

个单元数。由题知,每个元素占3

5. 一个有2001个结点的完全二叉树的高度是_____。

【答案】11

【解析】

完全二叉树的高度

6. 数据结构是研讨数据的_____和_____以及它们之间的相互关系,并对与这种结构定义相应的_____,设计出相应的_____。

;算法 【答案】逻辑结构;物理结构;操作(运算)

7. 在单链表中设置头结点的作用是_____。

【答案】方便运算

8. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。

【答案】

9. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。

【答案】n (n-1)/2

【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。

10.下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n

个顶点

用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。

(1)若

是边,则

的值等于_____,若

不是边,则

的值是一个比任

何边的权,矩阵的对角线元素全为0。

(2)构造最小生成树过程中,若顶点Vi 已包括进生成树,就把相邻矩阵的对角线元素A (i , i )置成若

【答案】(1)

已包括进生成树,就把矩阵元素A (i ,j )置成。 边上的权值;都大的数;(2)1; 负值;(3)为负;边

(3)算法结束时,相邻矩阵中的元素指出最小生成树的

二、选择题

11.在用邻接表表示图时,拓扑排序算法时间复杂度为( )。

A.0(n ) B.0(n+e) C.0(n*n) D.0(n*n*n) 【答案】B

【解析】由于输出每个顶点的同时还要删除以它为起点的边,故拓扑排序的时间复杂度为0(n+e)

第 3 页,共 53 页

12.在对n 个元素的序列进行排序时,堆排序所需要的附加存储空间是( )。

【答案】B 【解析】堆排序需要一个空间用于交换,因此堆排序所需要的附加存储空间为

13.下列关于虚拟存储的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术 B. 虚拟存储只能基于非连续分配技术 C. 虚拟存储容量只受外存容量的限制 D. 虚拟存储容量只受内存容量的限制 【答案】D 。

【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断,技术)将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件 机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配,虚拟存储器和外存大小没有关系,所以选项中 的A ,B ,C 都是错误的,所以答案是D 项。

14.某计算机存储器按字节编址,主存地址空间大小为64MB ,现用4Mx8位的RAM 芯片组成32MB 的主 存储器,则存储器地址寄存器MAR 的位数至少是( )。

A.22 位 B.23 位 C.25 位 D.26 位 【答案】D

【解析】虽然实际的主存储器(RAM 区)只有32MB , 但不排除还有ROM 区,考虑到存储器扩展的需要, MAR 应保证能访问到整个主存地址空间。因为主存的地址空间大小为64MB , 所以MAR 的位数至少需要26位。

15.若串其子串的数目是( )。

A.8 B.37 C.36 D.9

【答案】B

【解析】子串的定义是:串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串是其自身的子串。若字符串长度为长为

长为n 的子串有1个,长为

的子串有2个,

的子串有3个,……,长为1的子串有n 个。由于空串是任何串的子串,所以本题的答案

第 4 页,共 53 页

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值