判断题:

1-1  

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

1-2  
将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。 (3分)
 
1-3  
通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (3分)
 
1-4  
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)
 
1-5  
在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。 (3分)
 
1-6  
将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。 (3分)
 
1-7  
一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (3分)
 
1-8  
用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (3分)
 
1-9  
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。 (3分)
 
1-10  
某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。(3分)
 
 
选择题:
2-1
下列函数中,哪个函数具有最快的增长速度? (4分)
A、N2logN
B、N(logN)4
C、N3
D、NlogN2
 
2-2
给定N*N的二维的二维数组A,则在不改变数组的前提下,查找最大元素的时间复杂度是:(4分)
A、O(N2)
B、O(NlogN)
C、O(N)
D、O(N2logN)
 
2-3
给定程序时间复杂度的递推公式:T(1) = 1, T(N) = 2T(N/2)+N。则程序时间复杂度是:(4分)
A、O(logN)
B、O(N)
C、O(NlogN)
D、O(N2)
 
2-4 
设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(4分) 
A、h=t; t->next=h->next; 
B、t->next=h->next; h=t; 
C、h=t; t->next=h; 
D、t->next=h; h=t;
 
2-5
若借助堆栈将中缀表达式a+b*c+(d*e+f)*g转换为后缀表达式,当读入f时,堆栈里的内容是什么(按堆栈自底向上顺序)? (4分) 
A、+(*+ 
B、+(+ 
C、++(+ 
D、abcde
 
2-6
若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少? (4分) 
A、2和0 
B、2和2 
C、2和4 
D、2和6
 
2-7
三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (4分) 
A、8 
B、10 
C、12 
D、13
 
2-8 
已知一棵二叉树的先序遍历结果是ABC,则以下哪个序列是不可能的中序遍历结果: (4分) 
A、ABC 
B、BAC 
C、CBA 
D、CAB
 
2-9 
在一个用数组表示的完全二叉树中,如果根结点下标为1,那么下标为17和19这两个结点的最近公共祖先结点在哪里(数组下标)? (注:两个结点的“公共祖先结点”是指同时都是这两个结点祖先的结点) (4分) 
A、8 
B、4 
C、2 
D、1
 
2-10 
将6、4、3、5、8、9顺序插入初始为空的最大堆(大根堆)中,那么插入完成后堆顶的元素为: (4分) 
A、3 
B、5 
C、6 
D、9
 
2-11 
设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分) 
A、40 
B、36 
C、25 
D、12
 
2-12 
在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:-n−n表示树根且对应集合大小为nn),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少? (4分) 
A、1和-6 
B、4和-5 
C、8和-5 
D、8和-6
 
 
程序填空题:
 
3-1

下列代码的功能是从一个大顶堆H的某个指定位置p开始执行下滤。

 void PercolateDown( int p, PriorityQueue H )
{
int child;
ElementType Tmp = H->Elements[p];
for ( ; p * <= H->Size; p = child ) {
child = p * ;
if ( child!=H->Size && (6分) )
child++;
if ( H->Elements[child] > Tmp ) (6分);
else break;
}
H->Elements[p] = Tmp;
}
 
3-2

下列代码的功能是返回带头结点的单链表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;
}
 
 
参考答案:
 
判断题:TFFFF  TTFFF
 
选择题:CACDB  AADBD  CB
 
程序填空题:
H->Elements[child+1] > H->Elements[child]  H->Elements[p] = H->Elements[child]  
Old_head->Next = New_head  L->Next = New_head

中国大学MOOC-陈越、何钦铭-数据结构-2016秋期中考试的更多相关文章

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

    判断题: 1-1 N2logN和NlogN2具有相同的增长速度. (2分) 1-2 对一棵平衡二叉树,所有非叶结点的平衡因子都是0,当且仅当该树是完全二叉树.(2分) 1-3 无向连通图所有顶点的度之 ...

  2. 中国大学MOOC-陈越、何钦铭-数据结构-2015秋 01-复杂度2 Maximum Subsequence Sum (25分)

    01-复杂度2 Maximum Subsequence Sum   (25分) Given a sequence of K integers { N​1​​,N​2​​, ..., N​K​​ }. ...

  3. 中国大学MOOC-陈越、何钦铭-数据结构-2017春

    中国大学MOOC-陈越.何钦铭-数据结构-2017春 学习地址 详细学习内容 Github记录地址 欢迎fork和star,有惊喜值得学习! 参考学习笔记 参考AC代码 数据结构和算法学习笔记 学习内 ...

  4. 中国大学MOOC-陈越、何钦铭-数据结构-笔记

    中国大学MOOC-陈越.何钦铭-数据结构-2017春 跟着<中国大学MOOC-陈越.何钦铭-数据结构-2017春>学习,平时练习一下pat上的作业外:在这里记录一下:平时学习视屏的收获. ...

  5. 中国大学MOOC中的后台文件传输

    早期版本的中国大学MOOC一旦被挂起后,应用在完成当前下载任务后无法继续添加新任务,当然也无法将缓存状态写入数据库.这个问题能否顺利解决直接关系到用户体验. 顺便吐槽下,凡是使用了后台文件传输还提示你 ...

  6. 中国大学mooc直播回放看这里哦http://www.icourse163.org/forum/1001974001/topic-1003372881.htm?sortType=1&pageIndex=1

    中国大学mooc直播回放看这里哦http://www.icourse163.org/forum/1001974001/topic-1003372881.htm?sortType=1&pageI ...

  7. 中国大学MOOC课程信息之数据分析可视化二

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82318571 - 写在前面 本篇博客继续对中国大学MOOC ...

  8. 中国大学MOOC课程信息之数据分析可视化一

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82263391 9月2日更:中国大学MOOC课程信息之数据分 ...

  9. 中国大学MOOC课程信息爬取与数据存储

    版权声明:本文为博主原创文章,转载 请注明出处: https://blog.csdn.net/sc2079/article/details/82016583 10月18日更:MOOC课程信息D3.js ...

随机推荐

  1. jQuery基础 -- 如何判断页面元素存在与否

    在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的.例如: document.getElementById(&q ...

  2. UITaleView的基础使用及数据展示操作

    UITableView表视图,是实用的数据展示的基础控件,是继承于UIScrollView,所以也可以滚动.但不同于UIScrollView,UITableView只可以上下滚动,而不能左右滚动. 因 ...

  3. ubuntu mysql emma中文乱码问题解决

    ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...

  4. Visual Studio 2015完全离线安装

    虽然微软提供了Visual Studio的ISO镜像下载,但这个ISO文件并不完整,安装的过程中依然需要联网下载一些安装包,在中国特色的网络环境下导致安装过程还是非常慢的.另外,在一些网络隔离的环境中 ...

  5. Jmeter外部函数引用

    Jmeter外部函数引用 1.Beanshell引用Jmeter变量 添加用户自定义变量,输入变量名称和变量值,添加Debug sampler,用于输出初始变量值.

  6. android前端开发 布局学习

    元素背景设置 -------------------------------- Android中shape中的属性大全 http://www.oschina.net/question/166763_3 ...

  7. cursor

    BeginWaitCursor(); // display the hourglass cursor // do some lengthy processing Sleep(3000); EndWai ...

  8. 真机在wifi下调试android程序

    大家好,最近在学习android程序由于手机接口问题,调试程序的时候老是接触不良而不能正常调试,因此感到相当苦恼,于是在网上查找无线调试android的方法.经过研究和尝试现已成功无线调试程序,方法分 ...

  9. java1.7集合源码阅读: Vector

    Vector是List接口的另一实现,有非常长的历史了,从jdk1.0开始就有Vector了,先于ArrayList出现,与ArrayList的最大区别是:Vector 是线程安全的,简单浏览一下Ve ...

  10. oracle数据学习第二天

    今天主要加强了对oracle数据库的数据类型一些相关函数的学习  (一)char和varchar2  字符串函数 <1>concat(char1,char2)字符串连接函数,用于连接两个字 ...