西南财经大学天府学院试卷(B卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密 2009-2010-1学期
西南财经大学天府学院试卷(B 卷)
考试科目:数据结构_本
年级 层次 教学班 姓名: 学号:
1、本次考试为A 卷考试,考试时间120分钟。
2、请将答案依次写在专用 答题纸 上。
3、全卷共一部分,满分为100分。
一、单项选择题(共15题,每题2分,共计30分)
1、在数据结构学科中,伪代码是( )
A 、描述算法且容易理解的一种语言
B 、能够方便描述算法中的分支与循环等结构化语句
C 、不能直接编译或解释执行
D 、以上都正确
2、若进栈序列为1、2、
3、4,进栈过程中可以出栈,则以下不可能的出栈序列是()
A 、1、4、3、2
B 、2、3、4、1
C 、3、1、4、2
D 、3、4、2、1
3、设语句x++的时间是单位时间,则以下语句的时间复杂度为( )。
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
x++;
A 、O(1)
B 、O(n 2)
C 、O(n)
D 、O(n 3)
4、假定一个链表队列的队首和队尾指针分别用front 和rear 表示,每个结点的结构为:当出队时所进行的指针操作为()
A 、front = front –> next
B 、rear = rear –>next
C 、front –>next = rear ; rear = rear –>next
D 、front = front –>next ; front –>next = rear
5、向一个栈顶指针为hs 的链栈中插入一个s 结点时,应执行( )。
A 、hs->next=s;
B 、s->next=hs; hs=s;
C 、s->next=hs->next; hs->next=s;
D 、s->next=hs; hs=hs->next;
6、对于顺序存储的有序表 {5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数为( )。
A 、2
B 、3
C 、4
D 、5
7、对一组数据(86,48,26,15,23)排序,数据的排列次序在排序过程中的变化为:
① 86 48 26 15 23
② 15 48 26 86 23
③ 15 23 26 86 48
④ 15 23 26 48 86
这个排序过程采用的排序方法是( )。
A 、冒泡
B 、选择
C 、快速
D 、插入
8、
若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%7计算哈希地址,则哈希地址等于3的元素个数为( )。
A 、1
B 、2
C 、3
D 、4
9、若一个元素序列基本有序,则选用( )方法较快。
A 、直接插入排序
B 、简单选择排序
C 、堆排序
D 、快速排序
10、在一个长度为n 的顺序表中向第i 个元素(0
A 、n-i
B 、n-i+1
C 、n-i-1
D 、i
11、下面关于线性表的说法正确的是( ).
A、每个元素都有一个直接前趋和一个直接后继
B、线性表中至少要有一个元素
C、表中各元素的排列顺序必须是由小到大或由大到小
D、除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前趋和直接后继
12、在数据结构中,从逻辑上可以把数据结构分为()。
A.动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构
D. 内部结构和外部结构
13、已知函数SubString(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数SCopy(s,t)
的功能为复制串t到s。若字符串S=”SCIENCESTUDY”,则调用函数SCopy(P,Sub(S,1,7))后得到()。
A、P=”SCIENCE”
B、P=”STUDY”
C、S=”SCIENCE”
D、S=”STUDY”
14、若将一个10×10阶的对称矩阵压缩存储到一个一维数组中,则该一维数组的大小应该是()。
A、55
B、56
C、45
D、46
15、线索二叉树中,结点p没有左子数的充要条件是()。
A、p->lc=NULL
B、p->ltag=1
C、p->lc=NULL且p->ltag=1
D、以上都不对
二、是非题(下列叙述正确的写上T,否则,写上F。共10题,每题1分,共计10分)
1、在有向图G中,
2、线性表中的每个结点最多只有一个前驱和一个后继。()
3、线性表简称为“顺序表”。()
4、线性的数据结构可以顺序存储,也可以链式存储。非线性的数据结构只能连接存储。()
5、从单链表的任一结点出发,都能访问到所有结点。()
6、在有序的顺序表和有序的链表上,均可使用折半查找来提高查找效率。()
7、如果某种排序方法是不稳定的,那么该排序方法不具有实用价值。()
8、满二叉树一定是完全二叉树。()
9、若二叉树的中序遍历序列与后序遍历序列相同,则该二叉树一定是任何结点都没有右子树。()
10、数据结构概念包括数据之间的逻辑结构、数据在计算机中的存储方式和数据的运算三个方面。
()
三、填空题(共10空,每空1分,共计10分)
1、队列和堆栈最大的相同点在于,它们都同属于【1】;队列和栈最大的不同点在于,队列元素的删除和插入遵循【2】规则;而栈元素的删除和插入遵循后进先出(LIFO)规则。
2、如果经常对线性表进行插入和删除运算,则最好采用【3】存储结构。
3、已知二维数组A[5][3],其每个元素占2个存储单元,并且A[0][0]的存储地址为1000。则元素A[3][2]的存储地址为【4】。
4、假定一个顺序循环队列的存储空间长度为QueueSize,队首和队尾指针分别用front和rear表示,如果采用少用一个存储空间的方式来区分循环队列是队空还是队满,则判断队空的条件是【5】;判断队满的条件是【6】。
5、数据结构按结点间的关系,可分为4中逻辑结构,它们分别是【7】、【8】、
【9】和【10】。
四、算法填空题(每空2分,共20分)
1、已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode{
ElemType data;
BinTreeNode *left,*right;
};
其中data为结点值域,left和right分别为指向左、右子女结点的指针域。下面函数的功能是返回二叉树BT中值为X的结点所在的层号,请在画有横线的地方填写合适内容。
int NodeLevel(BinTreeNode *BT,ElemType X)
{
int c1,c2;