中国大学MOOC-陈越、何钦铭-数据结构-2018秋期中考试

判断题

1-1

在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (3分)

T         F

1-2

无向连通图至少有一个顶点的度为1。 (3分)

T         F

1-3

算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分)

T         F

1-4

某二叉树的后序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。(3分)

T         F

1-5

将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。 (3分)

T         F

1-6

如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。(3分)

T         F

1-7

一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (3分)

T         F

1-8

任何二叉搜索树中同一层的结点从左到右是有序的(从小到大)。 (3分)

T         F

1-9

所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)

T         F

1-10

若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (3分)

T         F

单选题

2-1

先序遍历图示二叉树的结果为 (4分)

  1. A,B,D,H,I,E,C,F,G
  2. H,D,I,B,E,A,F,C,G
  3. H,I,D,B,E,F,G,A,C
  4. A,B,C,D,H,E,I,F,G

2-2

一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()个。 (4分)

  1. 16
  2. 15
  3. 17
  4. 47

2-3

设一棵非空完全二叉树 T 的所有叶节点均位于同一层,且每个非叶结点都有 2 个子结点。若 T 有 k 个叶结点,则 T 的结点总数是:(4分)

  1. 2k
  2. k​2​​
  3. 2​k​​−1
  4. 2k−1

作者: 考研真题

单位: 浙江大学

2-4

对最小堆(小顶堆){1,3,2,12,6,4,8,15,14,9,7,5,11,13,10} 进行三次删除最小元的操作后,结果序列为:(4分)

  1. 4,6,5,13,7,10,8,15,14,12,9,11
  2. 4,5,6,7,8,9,10,11,12,13,14,15
  3. 4,6,5,12,7,10,8,15,14,9,13,11
  4. 4,5,6,12,7,10,8,15,14,13,9,11

 

2-5

表达式a*(b+c)-d的后缀表达式是: (4分)

  1. a b c + * d -
  2. a b c d * + -
  3. a b c * + d -
  4. - + * a b c d

2-6

给定N×N的二维数组A,则在不改变数组的前提下,查找最大元素的时间复杂度是:(4分)

  1. O(NlogN)
  2. O(N)
  3. O(N​2​​)
  4. O(N​2​​logN)

2-7

在图中自d点开始进行深度优先遍历算法可能得到的结果为: (4分)

  1. d,e,a,c,f,b
  2. d,f,c,e,a,b
  3. d,a,c,f,e,b
  4. d,a,e,b,c,f

2-8

在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行 (4分)

  1. s->next=p->next; p=s;
  2. s->next=p; p->next=s;
  3. s->next=p->next; p->next=s;
  4. p->next=s; s->next=p;

2-9

循环顺序队列中是否可以插入下一个元素()。 (4分)

  1. 与队头指针和队尾指针的值有关
  2. 只与队尾指针的值有关,与队头指针的值无关
  3. 只与数组大小有关,与队首指针和队尾指针的值无关
  4. 与曾经进行过多少次插入操作有关

2-10

设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分)

  1. 36
  2. 25
  3. 12
  4. 40

2-11

下列函数中,哪两个函数具有相同的增长速度:(4分)

  1. N和2/N
  2. 2​N​​和N​N​​
  3. N​2​​logN和NlogN​2​​
  4. NlogN​2​​和NlogN

2-12

在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示树根且对应集合大小为n),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少? (4分)

  1. 1和-6
  2. 4和-5
  3. 8和-5
  4. 8和-6

程序填空题

 

5-1

下列代码的功能是返回带头结点的单链表L的逆转链表。

List Reverse( List L )
{
    Position Old_head, New_head, Temp;
    New_head = NULL;
    Old_head = L->Next;

    while ( Old_head )  {
        Temp = Old_head->Next;
        
//输入代码(6分);  
        New_head = Old_head;  
        Old_head = Temp; 
    }
    
//输入代码(6分);
    return L;
}

5-2

下列代码的功能是将小顶堆H中指定位置P上的元素的整数键值下调D个单位,然后继续将H调整为小顶堆

void DecreaseKey( int P, int D, PriorityQueue H )
{
   int i, key;
   key = H->Elements[P] - D;
   for ( i = /*输入代码(6分)*/; H->Elements[i/2] > key; i/=2 )
      
   //输入代码(6分);
   H->Elements[i] = key;
}

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值