一、选择题
1. 对一组数据(2, 12, 16, 88, 5,10)进行排序,若前三趟排序结果如下:
第一趟:2,12,16, 5,10,88
第二趟:2,12,5,10,16, 88 第三趟:2,5,10,12,16, 88
则采用的排序方法可能是( )。
A. 起泡排序
B. 希尔排序
C. 归并排序
D. 基数排序
答:A
【解析】题目中所给的三趟排序过程,显然是使用起泡排序方法,每趟排序时从前往后依次
,待序列中的记录“基比较,使大值“沉底”。希尔排序的基本思想是:先对序列进行“宏观调整”
本有序”时再进行直接插入排序。宏观调整的方法是:通过某种规则将大的待排序序列分割为若干小的待排序序列,再依次对这些小的序列直接插入排序。宏观调整可以多次,每次分割的序列数逐渐増多,而每个序列中所包含的元素数逐渐减少。归并排序的基本操作是将多个小的有序序
,直至整个序列为有序为止。 基数排序是分配排列合并为一个大的有序序列,然后“逐趟归并”
序的一种,这类排序不是通过关键字比较,而是通过“分配”和“收集”过程来实现排序的。 本
,显然使用的是起泡排序法。 题中,很容易看出大值逐渐“沉底”
2. float 型数据通常用IEEE754单精度浮点数格式表示。若编译器将float 型变量x 分配在一个32位浮点寄存器FR1中,且x=-8.25, 则FR1的内容是( )。
A.C1040000H
B.C2420000H
C.C1840000H
D.C1C20000H
答:A
【解析】首先将十进制数转换为二进制数-1000.01,接着把它写成规格化形式(按IEEE754标准),然后计算阶码的移码=偏置值+阶码真值=127+3 = 130, 最后短浮点数代码:数符位=1, 阶码= 10000010, 尾数00001000000000000000000, 写成十六进制为C1040000H 。选项D 是一
个很容易被误选的选项,其错误在于没有考虑IEEE754标准中隐含最高位1的情况,偏置值是128。
3. 设图的邻接矩阵A 如下所示,各顶点的度依次是( )
A.1, 2, 1, 2
B.2, 2, 1, 1
C.3, 4, 2, 3
D.4, 4, 2, 2
答:C
【解析】当图用邻接矩阵存储时,各顶点的度是矩阵中此结点对应的横行和纵列非零元素之和。
4. —棵二叉树高度为h ,所有结点的度或为0或为2,则这棵二叉树最少有( )个结点。
A.2h B. C. D.
答:B
【解析】此树满足哈夫曼树,除根节点外每层有两个节点。
5. 下列寄存器中,汇编语言程序员可见的是( )。
A. 存储器地址寄存器(MAR )
B. 程序计数器(PC )
C. 存储器数据寄存器(MDR )
D. 指令寄存器(IR )
答:B
【解析】CPU 有5个专用寄存器,它们是程序计数器(PC )、指令寄存器OR )、存储器地址
,这些寄存器中有些寄存器(MAR )、 存储器数据寄存器(MBR )和状态标志寄存器(PSWR )
是CPU 的内部工作寄存器,对汇编语言程序员来说是透明的,在汇编语言程序设计中不会出现。但汇编语言程序员可以通过制定待执行指令的地址来设置PC 的值,所以程序计数器(PC )对于汇编语言程序员可见的。
6. 对于循环队列( )。
A. 无法判断队列是否为空
B. 无法判断队列是否为满
C. 队列不可能满
D. 以上说法都不是
答:D