一、填空题
1. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
【答案】
【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
2. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】树。故结点个数为
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉
3. 有五个数据依次入栈:1,2, 3, 4, 5。在各种出栈的序列中,以3, 4先出栈的序列有_____。(3在4之前出栈)
【答案】3个
【解析】以3, 4先出栈的序列有34521、34215、34251共3个。
4. 抽象数据类型的定义仅取决于它的一组_____,而与_____无关, 即不论其内部结构如何变化,只要它的_____不变,都不影响其外部使用。
【答案】逻辑特性;在计算机内部如何表示和实现;数学特性
5. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。
【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈 【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。
6. 求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e
【答案】克鲁斯卡尔
【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。
7. 数组的存储结构采用_____存储方式。
【答案】顺序存储结构
【解析】数组本身的存储结构是线性的,也就是说它是连续存储的。
8. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。
【答案】序查找效率一样为
9. 在哈希函数
中,P 值最好取_____。
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺
【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。
10.对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。
【答案】
【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。
二、选择题
11.希尔排序的组内排序采用的是( )。
A. 直接插入排序 B. 折半插入排序 C. 快速排序 D. 归并排序 【答案】A
【解析】希尔排序基本思想是:先将整个待排元素序列按某个增量分割成若干个子序列,在子序列内进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。
12.下列措施中,能加快虚实地址转换的是1增大快表(TLB ) 2让页表常驻内存3增大交换区( )。
A. 仅1 B. 仅2 C. 仅 1,2 D. 仅 2, 3 【答案】C
【解析】加大快表能增加快表的命中率,即减少了访问内存的次数;让页表常驻内存能够使cpu 不用访问内存找页表,从也加快了虚实地址转换。而增大交换区只是对内存的一种扩充作用,对虚实地址转换并无影响
13.下列关于USB 总线特性的描述中,错误的是( )。
A. 可实现外设的即插即用和热插拔 B. 可通过级联方式连接多台外设 C. 是一种通信总线,可连接不同外设 D. 同时可传输2位数据,数据传输率高 【答案】D 。
【解析】USB 总线即通用串行总线,它的特点有:(1)即插即用;(2)热插拔;(3)有很强的链接能力能将所有外设链接起来,且不损失带宽;(4)有很好的可扩展性;(5)高速传输,速度可达480Mbps 。所有A , B, C都符合USB 总线的特点。对于选项D , USB 是串行总线,不能同时传输两位数据,所以答案为D 。
14.下列关于IP 路由器功能的描述中,正确的是( )。
I. 运行路由协议,设置路由表;II. 监测到拥塞时,合理丢弃IP 分组;III. 对收到的IP 分组头进