中国大学MOOC-陈越、何钦铭-数据结构-2016秋期中考试
2016-10-22 22:57
525 查看
版权声明:本文为博主原创文章,转载请注明出处:www.dongjinbao.com
目录(?)[+]
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分)
答案:T
1-2
将NN个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)O(logN)。 (3分)
答案:F
1-3
通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (3分)
答案:F
1-4
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)
答案:F
1-5
在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。 (3分)
答案:F
1-6
将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。 (3分)
答案:T
1-7
一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (3分)
答案:T
1-8
用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (3分)
答案:F
1-9
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。 (3分)
答案:F
1-10
某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。 (3分)
答案:F
下列函数中,哪个函数具有最快的增长速度? (4分)
A、N2logN
B、N(logN)4
C、N3
D、NlogN2
答案:C
2-2
给定N\times NN×N的二维数组A,则在不改变数组的前提下,查找最大元素的时间复杂度是:(4分)
A、O(N2)
B、O(NlogN)
C、O(N)
D、O(N2logN)
答案:A
2-3
给定程序时间复杂度的递推公式:T(1)=1T(1)=1,T(N)=2T(N/2)+NT(N)=2T(N/2)+N。则程序时间复杂度是:(4分)
A、O(logN)
B、O(N)
C、O(NlogN)
D、O(N2)
答案:C
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;
答案:D
2-5
若借助堆栈将中缀表达式a+b*c+(d*e+f)*g转换为后缀表达式,当读入f时,堆栈里的内容是什么(按堆栈自底向上顺序)? (4分)
A、+(*+
B、+(+
C、++(+
D、abcde
答案:B
2-6
若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少? (4分)
A、2和0
B、2和2
C、2和4
D、2和6
答案:A
2-7
三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (4分)
A、8
B、10
C、12
D、13
答案:A
2-8
已知一棵二叉树的先序遍历结果是ABC,则以下哪个序列是不可能的中序遍历结果: (4分)
A、ABC
B、BAC
C、CBA
D、CAB
答案:D
2-9
在一个用数组表示的完全二叉树中,如果根结点下标为1,那么下标为17和19这两个结点的最近公共祖先结点在哪里(数组下标)? (注:两个结点的“公共祖先结点”是指同时都是这两个结点祖先的结点) (4分)
A、8
B、4
C、2
D、1
答案:B
2-10
将6、4、3、5、8、9顺序插入初始为空的最大堆(大根堆)中,那么插入完成后堆顶的元素为: (4分)
A、3
B、5
C、6
D、9
答案:D
2-11
设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分)
A、40
B、36
C、25
D、12
答案:C
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
答案:B
下列代码的功能是从一个大顶堆H的某个指定位置p开始执行下滤。
3-2
下列代码的功能是返回带头结点的单链表L的逆转链表。
目录(?)[+]
判断题
1-1算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分)
答案:T
1-2
将NN个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)O(logN)。 (3分)
答案:F
1-3
通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (3分)
答案:F
1-4
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)
答案:F
1-5
在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。 (3分)
答案:F
1-6
将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。 (3分)
答案:T
1-7
一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (3分)
答案:T
1-8
用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (3分)
答案:F
1-9
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。 (3分)
答案:F
1-10
某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。 (3分)
答案:F
选择题
2-1下列函数中,哪个函数具有最快的增长速度? (4分)
A、N2logN
B、N(logN)4
C、N3
D、NlogN2
答案:C
2-2
给定N\times NN×N的二维数组A,则在不改变数组的前提下,查找最大元素的时间复杂度是:(4分)
A、O(N2)
B、O(NlogN)
C、O(N)
D、O(N2logN)
答案:A
2-3
给定程序时间复杂度的递推公式:T(1)=1T(1)=1,T(N)=2T(N/2)+NT(N)=2T(N/2)+N。则程序时间复杂度是:(4分)
A、O(logN)
B、O(N)
C、O(NlogN)
D、O(N2)
答案:C
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;
答案:D
2-5
若借助堆栈将中缀表达式a+b*c+(d*e+f)*g转换为后缀表达式,当读入f时,堆栈里的内容是什么(按堆栈自底向上顺序)? (4分)
A、+(*+
B、+(+
C、++(+
D、abcde
答案:B
2-6
若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少? (4分)
A、2和0
B、2和2
C、2和4
D、2和6
答案:A
2-7
三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (4分)
A、8
B、10
C、12
D、13
答案:A
2-8
已知一棵二叉树的先序遍历结果是ABC,则以下哪个序列是不可能的中序遍历结果: (4分)
A、ABC
B、BAC
C、CBA
D、CAB
答案:D
2-9
在一个用数组表示的完全二叉树中,如果根结点下标为1,那么下标为17和19这两个结点的最近公共祖先结点在哪里(数组下标)? (注:两个结点的“公共祖先结点”是指同时都是这两个结点祖先的结点) (4分)
A、8
B、4
C、2
D、1
答案:B
2-10
将6、4、3、5、8、9顺序插入初始为空的最大堆(大根堆)中,那么插入完成后堆顶的元素为: (4分)
A、3
B、5
C、6
D、9
答案:D
2-11
设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分)
A、40
B、36
C、25
D、12
答案:C
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
答案:B
程序填空题
3-1下列代码的功能是从一个大顶堆H的某个指定位置p开始执行下滤。
<code class="hljs haskell has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-title" style="box-sizing: border-box;">void</span> <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">PercolateDown</span>( int p, <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">PriorityQueue</span> <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span> ) { int child; <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">ElementType</span> <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Tmp</span> = <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[p]; for ( ; p * <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span> <= <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Size</span>; p = child ) { child = p * <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> ( child!=<span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Size</span> && <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[child] < <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[child+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>]) child++; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> ( <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[child] > <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Tmp</span> ) <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[p]=<span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[child]; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> break; } <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">H</span>-><span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Elements</span>[p] = <span class="hljs-type" style="box-sizing: border-box; color: rgb(102, 0, 102);">Tmp</span>; }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li></ul>
3-2
下列代码的功能是返回带头结点的单链表L的逆转链表。
<code class="hljs lasso has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">List</span> Reverse( <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">List</span> L ) { Position Old_head, New_head, Temp; New_head <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NULL</span>; Old_head <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> L<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>Next; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> ( Old_head ) { Temp <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> Old_head<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>Next; Old_head<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>Next<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span>New_head; New_head <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> Old_head; Old_head <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span> Temp; } L<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-></span>Next<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">=</span>New_head; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> L; }</code>
相关文章推荐
- 中国大学MOOC-陈越、何钦铭-数据结构-2017春期中考试
- 中国大学MOOC-陈越、何钦铭-数据结构-2016秋2题
- 中国大学MOOC-陈越、何钦铭-数据结构-2016秋期末考试
- 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 03-树1 树的同构(25 point(s))
- PTA中国大学MOOC-陈越、何钦铭-数据结构-2017春课后作业03树1 树的同构
- 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 02-线性结构4 Pop Sequence
- 中国大学MOOC-陈越、何钦铭-数据结构 树的同构
- 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题&代码
- 中国大学MOOC-陈越、何钦铭-数据结构-2015秋 03-树3 Tree Traversals Again (25分)
- 中国大学MOOC-陈越、何钦铭-数据结构 是否同一棵二叉搜索树
- 中国大学MOOC-陈越、何钦铭-数据结构-笔记
- 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题 自测-1 打印沙漏
- 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 03-树2 List Leaves(25 point(s))
- 02-线性结构2 一元多项式的乘法与加法运算-中国大学MOOC-陈越、何钦铭-数据结构-2017秋
- PTA中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题
- 中国大学MOOC-陈越、何钦铭-数据结构 统计工龄
- 中国大学MOOC-陈越、何钦铭-数据结构-2017秋03-树3 Tree Traversals Again(25 point(s))
- 中国大学MOOC-陈越、何钦铭-数据结构-2015秋 01-复杂度2 Maximum Subsequence Sum (25分)
- 中国大学MOOC-陈越、何钦铭-数据结构 一元多项式的乘法与加法运算
- 中国大学MOOC-陈越、何钦铭-数据结构 Tree Traversals Again