(完整word版)12年南大金陵学院数据结构期末考试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京大学金陵学院期末试卷

2011~2012学年第一学期

数据结构期末考试试题 A 09 1. 2 学号__________ 姓名_____________ 成绩___________

一选择题(共15 题,每题2分,计30 分)

在下列各题A)、B)、C)、D) 四个选项中,选择一个正确的选项,将其字母编号填写在括号中。

(1)下列哪个选项是错误的?()

A) 2n+n3 = O(2n) B) 2n+1 = O(2n)

C) 22n = O(2n) D) O(n2) < O(2n)

(2) 在下列4个选项中,声明一个向量数组的是( )

A) vector vex ; B) vector vec(10) ;

C) vector vex[10] ; D) vector vex(10, 'a' );

(3) 下列每组代码利用标准容器list建立一个表,然后逐个删除表中的元素。其中那组代码是正确的?( )

A)list lst; B) list lst;

for( int i = 0;i<5;i++) lst.push_back(i); for( int i = 0;i<5;i++) lst.push_back(i);

list::iterator p; list::iterator p=lst.begin();

for( p=lst.begin() ; p!=lst.end() ; p++) lst.erase(p); while( !lst.empty() ) lst.erase(p);

C) list lst; D) list lst;

for( int i = 0;i<5;i++) lst.push_back(i); for( int i = 0;i<5;i++) lst.push_back(i);

list::iterator p=lst.begin(); list::iterator p=lst.begin();

while(p!=lst.end() ) lst.erase(p); while(p!=lst.end() ) p=lst.erase(p);

(4) 字符a、b、c、d依次进入一个栈,按所有可能的次序出栈后组成一个长度是4的字符串,至多可以组成多少个不同的字符串?()

A) 4 B) 14 C) 24 D) 16

(5)设有如下定义的数组Q:

const int m=20 ;

T Q[m];//T为队列元素的类型

Q存储一个环形队列。quelen是队列中元素的个数,back 是实际队尾元素的位置,队列中第一个元素的实际位置是( )

A) back+m-quelen B) back – quelen

C) ( back+m – quelen +1) % m D) ( m – back +quelen) % m

(6) C++标准模板库的“表”容器(list)是用双向链表实现的,对这种实现,下列叙述正确的是( )

A) 元素的物理顺序与元素的逻辑顺序一定相同

B) 一个表元素所占用的存储空间只用来存储表元素的值,不含其他附加信息

C) 可以随机地访问元素

D) 可以高效地进行插入和删除操作

(7) 设一个长度为10的排好序的序列存储在数组int arr[10]中。对一个给定的值k,用二分法查找与k相等的元素,若查找不成功,至少需要比较多少次?( )。

A) 3B) 4 C) 5D) 6

(8) 设一棵树的度是4,其中度为0、1、2、3和4的结点个数分别是8、4、2、1和x,x是( ) 。

A) 4 B) 3 C) 2 D) 1

(9) 下面关于二叉树的叙述正确的是( )。

A) 任何二叉树至少有一个结点

B) 二叉树的度是2

C) 在二叉树中,度为0的结点个数等于度为2的结点个数加1。

D) 在任何一棵完全二叉树中,没有度为1的结点。

(10) 一棵二叉树含有25个结点,这些结点要么是叶,要么是有两棵非空子的子树,此二叉树中有()个非叶结点。

A) 11 B) 12 C) 13 D) 14

(11) 设二叉树根结点的层次为0,一棵深度(高度)为k的满二叉树和同样深度的完全二叉树分别有f个结点和c个结点,下列关系式错误的是()

A) f ≥c B) c > f C) f = 2k+1-1 D) c ≤2k+1-1

(12) 下列关于二叉搜索树的叙述,错误的是()。

A) 二叉搜索树可以是空二叉树

B) 向二叉搜索树中插入一个结点,该结点的度一定是0。

C) 对二叉搜索树进行中序遍历,将得到结点键值的递增序列。

D) 向二叉搜索树中插入一个结点,树的高度一定增加1。

(13) 考虑一棵二叉树结点的先序、中序和后序序列,所有叶结点的先后顺序关系是( )

A) 都不相同B) 完全相同

C) 先序和中序相同,而与后序不同D) 中序和后序相同,而与先序不同

(14) 设有森林F,与F对应的二叉树是B。若已知F有m个非叶结点,B中有n个结点的右

子树是空二叉树,对m和n,下列等式成立的是()

A) m = n B) m = n - 1 C) m = n + 1 D) m =n - 2

(15)考虑下列4种排序方法,不稳定的方法是()

A) 直接插入排序B) 二分法插入排序

C) 归并排序D) 快速排序

二、填空题(共10 题,每题3分,计30 分)请将下列各题的答案填写在横线上

(1)一个抽象数据类型由一组值的集合以及定义在这组值上的一组组成。

(2) 利用STL的向量容器vector定义二维向量vv如下:

vector< vector > vv ; // 二维向量vv

执行循环语句:for ( int i = 1 ; i<=3 ; i++ ) vv.push_back( vector (i , 2*i ) ) ;

后,向量vv的元素vv[1]是_______________________

相关文档
最新文档