数据结构

本试卷为数据结构,题目包括:单项选择题。

本卷包括如下题型:

一、单项选择题

数据结构

一、单项选择题 (共50题,每题2分,共计100分)

(  C  )
1、下列叙述中错误的是(C)。
A、图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次
B、图的遍历可以采用深度优先遍历和广度优先遍历
C、图的广度优先遍历只适用于无向图
D、图的深度优先遍历是一个递归过程
(  D  )
2、下面给出的四种排序法中( D )排序法是不稳定性排序法。
A、插入
B、冒泡
C、二路归并
D、堆积
(  C  )
3、(4分)在带头结点的双向循环链表中插入一个新结点,要修改的指针域数量是(C)。
A、2个
B、3个
C、4个
D、6个
(  A  )
4、(3分)某索引顺序表共有元素395个,.平均分成5块。若先对引表采用顺序查找,再对块中元素进行顺序查找,则在等概率情况下,分块查找成功的平均查找长度是(A)。
A、43
B、79
C、198
D、200
(  C  )
5、(3分)假设散列表长m=11 ,散列函数H(key)=key%11表中己有4个结点: H (39) :。 6, H (41) :8.H(53):9,H(76) : 10, 占了4个位置, 其余位置为空。现采用线性探查法处理冲突,存储关键字85时需要探查的次数是(C)。
A、2
B、3
C、4
D、5
(  B  )
6、(4分)针对线性表逻辑上相邻的两个元素,下列叙述中,正确的是(B)。
A、采用顺序存储时一定相邻,采用链式存储时也一定相邻
B、采用顺序存储时一定相邻,采用链式存储时不-定相邻
C、采用顺序存储时不一定相邻,采用链式存储时一定相邻
D、器用顺序存储时不一定相邻,采用链式存储时也不定相邻
(  C  )
7、在一个链队中,假设和分别为队首和队尾指针,则删除一个结点的运算时(C)。
A、r=f->next;
B、r=r->next;
C、f=f->next;
D、f=r->next;
(  B  )
8、(6分)计算机算法指的是解决问题的有限运算序列,它必具备输入输出和()等五个特性。
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
(  C  )
9、栈和队列的共同特点是()。
A、都是先进先出
B、都是先进后出
C、只允许在端点处插入和删除元素
D、5和1
(  C  )
10、若一个栈的输入序列是1、2……N,输出序列的第一个元素是N,则第I个输出元素为()。
A、N-1
B、I
C、N-I+1
D、N-I-1
(  D  )
11、一棵有 n 个顶点的生成树有且仅有( )条边。
A、n+2
B、n+1
C、n
D、n-1
(  D  )
12、判断顺序栈(最多结点数为m)为栈满的条件是
A、top==0
B、top!=m
C、top!=0
D、top==m
(  D  )
13、下述哪一条是顺序存储结构的优点
A、可方便地用于各种逻辑结构的存储表示
B、插入运算方便
C、删除运算方便
D、存储密度大
(  A  )
14、在存储结构上,如果用带头节点单链表实现队列(假定front和rear分别为队首和队尾指针),则删除一个结点的操作为
A、front.next=front.next.next
B、rear=rear.next
C、rear=front.next
D、front= front.next
(  B  )
15、具有n个顶点的有向图最多有( )条边。
A、n
B、n(n-1)
C、n(n+1)
D、n2
(  C  )
16、若一个栈以向量V[1..n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是( )。
A、top++; V[top]=x;
B、V[top]=x; top++;
C、top--; V[top]=x;
D、V[top]=x; top--;
(  B  )
17、对22个记录的有序表作折半查找,当查找失败时,至少需要比较( )次关键字。
A、3
B、4
C、5
D、6
(  B  )
18、串下面关于串的的叙述中,( )是不正确的?
A、串是字符的有限序列
B、空串是由空格构成的串
C、模式匹配是串的一种重要运算
D、串既可以采用顺序存储,也可以采用链式存储
(  B  )
19、在一个顺序表的表尾插入一个元素的时间复度的量级为()。
A、O(n)
B、O(1)
C、O(n2)
D、O(log n)
(  D  )
20、在数据结构中,从逻辑上可以把数据结构分为()
A、动态结构和静态结构
B、紧凑结构和非紧凑结构
C、内容结构和外部结构
D、线性结构和非线性结构
(  B  )
21、在线索化二叉树中,t所指节点没有左子树的充要条件是( )
A、t->left=NULL
B、t->ltag=1
C、t->ltag=1且t->left=NULL
D、以上都不对
(  A  )
22、下列叙述中正确的是()。
A、在栈中,栈顶指针的动态变化决定栈中元素的个数
B、在循环队列中,队尾指针的动态变化决定队列的长度
C、在循环链表中,头指针和链尾指针的动态变化决定链表的长度
D、在线性链表中,头指针和链尾指针的动态变化决定链表的长度
(  C  )
23、下列结构中属于非线性结构的是()
A、循环队列
B、二维数组
C、二叉链表
D、双向链表
(  B  )
24、设S=”abc”;T=”xyz”,则strcmp(S,T)的值为( )。
A、正数
B、负数
C、零
D、不确定
(  A  )
25、由于数据的逻辑结构通过不同的存储映像方法可得到不同的存储结构,常见的数据存储结构没有( )。
A、邻接存储结构
B、顺序存储结构
C、索引存储结构
D、散列存储结构
(  B  )
26、下面程序的时间复杂为( )。for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}
A、O(n)
B、O(n2)
C、O(n3)
D、O(n4)
(  C  )
27、二路归并排序的时间复杂度为( )。
A、O(n)
B、O(n2)
C、O(nlog2n)
D、O(log2n)
(  B  )
28、设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为( )。
A、第i行非0元素的个数之和
B、第i列非0元素的个数之和
C、第i行0元素的个数之和
D、第i列0元素的个数之和
(  A  )
29、程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为( )。
A、O(n)
B、O(nlog2n)
C、O(n2)
D、O(n3/2)
(  D  )
30、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。
A、单向链表
B、单向循环链表
C、双向链表
D、双向循环链表
(  A  )
31、union(A,B,C)表示求集合A和B的并集C。若A={b,c,d},B={c,e},则union(A,B,C)运算后C=( )。
A、{b,c,d,e}
B、{c}
C、{b,d}
D、{b,c,c,d,e}
(  A  )
32、有n个十进制整数进行基数排序,其中最大的整数为5位,则基数排序过程中临时建立的队数个数是( ) 。
A、10
B、n
C、5
D、2
(  A  )
33、在一个单链表中,删除p所指结点的直接后继的操作是
A、p->next=p->next->next;
B、p=p->next;p->next=p->next->next;
C、p->next=p->next;
D、p=p->next->next;
(  D  )
34、在一个长度为n的顺序表的第i个元素(1≤i≤n)之前插入一个元素时,需向后移动()个元素。
A、i
B、n-i
C、n-i-1
D、n-i+1
(  C  )
35、在一个图中,所有顶点的度数之和等于所有边数的( )倍。
A、1/2
B、1
C、2
D、3
(  C  )
36、在以下的叙述中,正确的是( )。
A、线性表的顺序存储结构优于链表存储结构
B、线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C、线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D、线性表的链表存储结构优于顺序存储结构
(  C  )
37、稀疏矩阵的常见压缩存储方法有( )两种。
A、二维数组和三维数组
B、三元组和散列表
C、三元组和十字链表
D、散列表和十字链表
(  B  )
38、对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %10作为散列函数,则散列地址为0的元素有( )个。
A、1
B、2
C、3
D、4
(  A  )
39、设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过( )。
A、log2(n) + 1
B、log2(n) - 1
C、log2(n)
D、log2(n+1)
(  B  )
40、对20个的元素的线性表进行查找时,第一个元素的命中概率为0.5,其他元素命中概率一样(不考虑查找失败),则平均查找长度为。
A、5.5
B、6
C、7.5
D、8
(  D  )
41、在一个有向图中,如果一个顶点的出度等于入度,则( )。
A、过该顶点的边数为1
B、过该顶点的边数为2
C、过该顶点的边数为4
D、无法确定过该顶点的边的数
(  B  )
42、由4个结点可以构造出多少种不同的二叉树?
A、9
B、14
C、16
D、27
(  C  )
43、广义表L=((a,b,c),(e,f)),则L的长度和深度分别为( )。
A、3,2
B、2,3
C、2,2
D、2,5
(  C  )
44、一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该平衡二叉树共有( )个结点。 (5.0分)
A、2k-1-1
B、2k-1+1
C、2k-1
D、2k+1
(  D  )
45、用二分查找法查找具有n个结点的顺序表时,查找每个结点的平均比较次数是( )。 (5.0分)
A、O(n2)
B、O(nlgn)
C、O(n)
D、O(lon)
(  B  )
46、*设有10000个互不相等的无序整数,若仅要求找出其中前10个最大整数,最好采用 ( ) 排序方法。
A、归并
B、堆
C、快速
D、直接选择
(  D  )
47、双向链表中有两个指针域,llink 和 rlink 分别指向前趋及后继,设p 指向链表中的一个结点,现要求删去 p 所指结点,则正确的删除是( )(链中结点数大于 2,p 不是第一个结点)。
A、p->llink->rlink=p->llink;
B、free(p);P->llink->rlink=p->rlink;p->llink->rlink=p->llink;Free(p);p->llink->rlink=p->rlink;
C、p->llink->rlink=p->llink;
D、以 上A,B,C 都 不 对 。free(p);P->llink->rlink=p->rlink;
(  C  )
48、向一个队首指针为 front、队尾指针为 rear 的链队列中插入一个 s 所指结点时,其操作步骤为( )
A、s->next=front;
B、front = front->next; front->next=s;
C、s->next=rear;
D、rear=s; rear=s; s->next=rear;
(  C  )
49、向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行(不带空的头结点)
A、HS—>next=s;
B、s—>next= HS—>next;  HS—>next=s;
C、s—>next= HS;  HS=s;
D、s—>next= HS;  HS= HS—>next;
(  B  )
50、二维数组A中,每个元素A的长度为3个字节,行下标i从0到7,列下标j从0到9,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[4][7]的起始地址为
A、SA+141
B、SA+180
C、SA+222
D、SA+225