数据结构导论试题.docx
《数据结构导论试题.docx》由会员分享,可在线阅读,更多相关《数据结构导论试题.docx(27页珍藏版)》请在冰点文库上搜索。
数据结构导论试题
全国2004年10月高等教育自学考试
1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为( )
A.逻辑结构、存储结构、机外表示B.存储结构、逻辑结构、机外表示
C.机外表示、逻辑结构、存储结构D.机外表示、存储结构、逻辑结构
2.若评价算法的时间复杂性,比较对数阶量级与线性阶量级,通常( )
A.对数阶量级复杂性大于线性阶量级
B.对数阶量级复杂性小于线性阶量级
C.对数阶量级复杂性等于线性阶量级
D.两者之间无法比较
3.下列关于线性表的基本操作中,属于加工型的操作是( )
A.初始化、求表长度、插入操作B.初始化、插入、删除操作
C.求表长度、读元素、定位操作D.定位、插入、删除操作
4.在一个单链表中,若p所指结点不是最后结点,s指向已生成的新结点,则在p之后插入s所指结点的正确操作是( )
A.s–>next=p–>next;p–>next=s;B.p–>next=s–>next;s–>next=p;
C.s–>next=p;p–>next=s;D.s–>next=p–>next;p=s;
5.若有三个字符的字符串序列执行入栈操作,则其所有可能的输出排列共有( )
A.3种B.4种
C.5种D.6种
6.C语言对数组元素的存放方式通常采用( )
A.按行为主的存储结构B.按列为主的存储结构
C.按行或列为主的存储结构D.具体存储结构无法确定
7.根据定义,树的叶子结点其度数( )
A.必大于0B.必等于0
C.必等于1D.必等于2
8.二叉树若采用二叉链表结构表示,则对于n个结点的二叉树一定有( )
A.2n个指针域其中n个指针为NULL
B.2n个指针域其中n+1个指针为NULL
C.2n-1个指针域其中n个指针为NULL
D.2n-1个指针域其中n+1个指针为NULL
9.在一个无向图中,所有顶点的度数之和等于边数的( )
A.1倍B.2倍
C.3倍D.4倍
10.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的( )
A.先根遍历B.中根遍历
C.后根遍历D.层次遍历
11.采用顺序查找法,若在表头设置岗哨,则正确的查找方式通常为( )
A.从第0个元素开始往后查找该数据元素
B.从第1个元素开始往后查找该数据元素
C.从第n个元素开始往前查找该数据元素
D.从第n+1个元素开始往前查找该数据元素
12.下列查找中,效率最高的查找方法是( )
A.顺序查找B.折半查找
C.索引顺序查找D.分块查找
13.索引文件通常由索引表和主文件两部分构成,其中( )
A.索引表和主文件均必须是有序文件
B.索引表和主文件均可以是无序文件
C.索引表必须是有序文件
D.主文件必须是有序文件
14.直接插入排序算法,其时间复杂性为( )
A.O
(1)B.O(n)
C.O(nlog2n)D.O(n2)
15.下列排序方法中,属于稳定的排序方法是( )
A.直接插入排序法B.快速排序法
C.冒泡排序法D.堆排序法
16.从数据结构的观点,数据通常可分为三个层次,即:
数据、数据元素和___________。
17.用程序设计语言、伪程序设计语言并混合自然语言描述的算法称为___________算法。
18.对顺序表执行插入操作,其插入算法的平均时间复杂性为___________。
19.在具有n个单元、且采用顺序存储的循环队列中,队满时共有___________个元素。
20.若front和rear分别表示循环队列Q的头指针和尾指针,m0表示该队列的最大容量,则循环队列为空的条件是___________。
21.二维数组A[10][20]采用按行为主序的存储方式,每个元素占4个存储单元,若A[0][0]的存储地址为300,则[A][10][10]的地址为___________。
22.树的遍历主要有先根遍历、后根遍历和___________三种。
23.深度为k的完全二叉树至少有___________个结点。
24.若图的邻接矩阵是一个对称矩阵,则该图一定是一个___________。
25.对于具有n个元素的数据序列,采用二叉排序树查找,其平均查找长度为___________。
26.要完全避免散列所产生的“堆积”现象,通常采用___________法。
27.ISAM其中文含义为___________方法。
28.在最好的情况下,对于具有n个元素的有序序列,若采用冒泡排序,所需的比较次数为___________次。
29.已知某二叉树如下图所示,试给出其二叉链表及顺序存储结构表示。
30.若某无向图G的邻接表如图所示,试给出以顶点V1为出发点,按广度优先搜索所产生的一棵生成树。
31.已知某二叉排序树10个结点的值依次为1~10,其结构如图所示,试标出该二叉树各结点所对应的具体值。
32.已知一组键值序列(28,47,35,42,53,60,34,22),试给出采用直接插入排序法对该组序列作升序排序的每一趟结果。
33.已知一组键值序列(3,6,8,9,2,7,4,3),试采用快速排序法对该组序列作升序排序,并给出每一趟的排序结果。
34.设某单链表中,存在多个结点其数据值均为D,试编写一算法统计该类结点的个数。
35.若二叉树存储结构采用二叉链表表示,试编写一算法,计算一棵二叉树的所有结点数。
全国2005年10月高等教育自学考试
1.若要描述数据处理的变化过程,其正确的次序应为()
A.处理要求、基本运算和运算、算法
B.处理要求、算法、基本运算和运算
C.基本运算和运算、处理要求、算法
D.算法、处理要求、基本运算和运算
2.从运算类型角度考虑,属于引用型的运算是()
A.插入、删除B.删除、修改
C.查找、读取D.查找、删除
3.若在长度为n的顺序表中插入一个结点,则其结点的移动次数()
A.最少为0,最多为nB.最少为1,最多为n
C.最少为0,最多为n+1D.最少为1,最多为n+1
4.在一个单链表中,若p所指结点是q所指结点的前驱结点,则在结点p、q之间插入结点s的正确操作是()
A.s->next=q;p->next=s->next
B.p->next=q;p->next=s
C.s->next=q->next;p->next=s
D.s->next=q->next;p->next=s->next
5.若有一串数字5、6、7、8入栈,则其不可能的输出序列为()
A.5、6、7、8B.8、7、6、5
C.8、7、5、6D.5、6、8、7
6.FORTRAN语言对数组元素的存放方式通常采用()
A.按行为主的存储结构B.按列为主的存储结构
C.按行或列为主的存储结构D.按行和列为主的存储结构
7.树是n个结点的有穷集合,()
A.树的结点个数可以为0,此时称该树为空树
B.树至少含有一个根结点,不能为空
C.树至少含有一个根结点和一个叶子结点
D.树至少含有一个根结点和两个叶子结点
8.深度为k的二叉树至多有()
A.2k个叶子B.2k-1个叶子
C.2k-1个叶子D.2k-1-1个叶子
9.具有10个顶点的有向完全图应具有()
A.20条弧B.50条弧
C.90条弧D.100条弧
10.从V1出发,对题10图按广度优先搜索遍历,则可能得到的一种顶点序列为()
A.V1V2V3V5V4V6
B.V1V2V3V5V6V4
C.V1V5V2V3V6V4
D.V1V3V6V4V5V2
11.适用于静态的查找方法为()
A.二分查找、二叉排序树查找
B.二分查找、索引顺序表查找
C.二叉排序树查找、索引顺序表查找
D.二叉排序树查找、散列法查找
12.采用二分查找法,若当前取得的中间位置MID的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应()
A.从MID/2位置开始B.从MID位置开始
C.从MID-1位置开始D.从MID+1位置开始
13.磁盘是一种广泛使用的外部存储设备,对磁盘的存取操作()
A.只能用顺序方式B.只能用随机方式
C.既能用顺序方式也能用随机方式D.方式取决于具体的机器
14.当待排序序列中记录数较少或基本有序时,最适合的排序方法为()
A.直接插入排序法B.快速排序法
C.堆排序法D.归并排序法
15.若对序列(26,90,23,53,16,34,69,39,22)进行一趟排序后所得到的结果为(22,16,23,26,53,34,69,39,90),则该排序可能使用的方法是()
A.插入排序B.冒泡排序
C.快速排序D.选择排序
16.算法通常可分为程序、伪语言算法和__________三种类型。
17.时间复杂性描述量级中,若某算法达到__________量级,则该算法通常是不可计算的。
18.对顺序表执行删除操作,其删除算法的平均时间复杂性为__________。
19.若head表示循环链表的头指针,t表示尾结点,则头指针head与尾结点t之间的关系可表示为__________。
20.我们通常把队列中允许删除的一端称为__________。
21.二维数组A[5][6]采用按列为主序的存储方式,每个元素占3个存储单元,若A[0][0]的存储地址是100,则A[4][3]的存储地址是__________。
22.树在数据结构中常采用孩子链表表示法、__________三种存储结构表示。
23.若某二叉树中度为1的结点数为4,度为2的结点数为6,则该树叶子结点数为__________。
24.对于n个顶点的生成树,其边的个数为__________。
25.对于具有n个元素的数据序列,若采用二分查找法,当n的值较大时其平均查找长度为__________。
26.解决散列所引起冲突的方案中,__________法是介于开散列表与闭散列表之间的一种方法。
27.多关键字文件是指同时对__________两部分都建立索引的文件组织形式。
28.排序通常可分为内部排序和外部排序,其中内部排序是指排序的整个过程中,数据全部存放在计算机的__________中。
29.对于如题29图所示二叉树,分别写出其先根遍历、中根遍历和后根遍历的结点访问序列。
30.设散列函数为H(key)=key%11,散列表长度为11(散列地址空间为0…10),在给定表(SUN,MON,TUE,WED,THU,FRI,SAT)中,取单词的第一个字母在英语字母表中的序号为键值K,构造一散列表,并用线性探测法解决有关的地址冲突。
31.试给出题31图的邻接矩阵和邻接表表示。
32.已知一组键值序列(32,44,38,65,53,42,29,57),试采用堆排序法对该组序列作升序排序,给出建立的初始堆以及第一次输出堆元素后筛选调整的堆。
33.已知一组键值序列(13,12,16,17,15,14,11),试采用二路归并排序法对该组序列作升序排序,并给出每一趟的排序结果。
34.若循环单链表长度大于1,p为指向链表中某结点的指针,试编写一算法删除p结点的前驱结点。
35.若二叉树用二叉链表表示,试编写一算法计算一棵二叉树的叶子总数(可采用递归算法描述)。
全国2007年10月
1.在数据结构中,从逻辑上可以把数据结构分成()
A.线性结构和非线性结构B.紧凑结构和非紧凑结构
C.动态结构和静态结构D.内部结构和外部结构
2.for(i=0;i for(j=0;j A[i][j]=i*j;
上面算法的时间复杂度为()
A.O(m2)B.O(n2)
C.O(m×n)D.O(m+n)
3.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为()
A.5B.6
C.7D.9
4.设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p→llink和p→rlink表示,则同样表示p指针所指向结点的表达式是()
A.p→llinkB.p→rlink
C.p→llink→llinkD.p→llink→rlink
5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()
A.110B.108
C.100D.120
6.设有一个栈,按A、B、C、D的顺序进栈,则可能为出栈序列的是()
A.DCBAB.CDAB
C.DBACD.DCAB
7.在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为()
A.top++B.top--
C.top不变D.top=0
8.除根结点外,树上每个结点()
A.可有任意多个孩子、一个双亲B.可有任意多个孩子、任意多个双亲
C.可有一个孩子、任意多个双亲D.只有一个孩子、一个双亲
9.题9图中树的度为()
A.2
B.3
C.5
D.8题9图
10.有4个顶点的无向完全图的边数为()
A.6B.12
C.16D.20
11.设图的邻接矩阵为,则该图为()
A.有向图B.无向图
C.强连通图D.完全图
12.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。
这种方式主要适合于()
A.静态查找表B.动态查找表
C.静态查找表与动态查找表D.静态查找表或动态查找表
13.用散列函数求元素在散列表中的存储位置时,可能会出现不同的关键字得到相同散列函数值的冲突现象。
可用于解决上述问题的是()
A.线性探测法B.除留余数法
C.平方取中法D.折叠法
14.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是()
A.选择排序B.插入排序
C.冒泡排序D.快速排序
15.在排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()
A.希尔排序B.归并排序
C.插入排序D.选择排序
16.如果操作不改变原逻辑结构的“值”,而只是从中提取某些信息作为运算结果,则称该类运算为__________型运算。
17.设有指针head指向不带表头结点的单链表,用next表示结点的一个链域,指针p指向与链表中结点同类型的一个新结点。
现要将指针p指向的结点插入表中,使之成为第一个结点,则所需的操作为“p→next=head;”和“__________”。
18.单链表中逻辑上相邻的两个元素在物理位置上__________相邻。
19.在一个长度为n的数组中删除第i个元素(1≤i≤n)时,需要向前移动的元素的个数是__________。
20.设F、C是二叉树中的两个结点,若F是C的祖先结点,则在采用后根遍历方法遍历该二叉树时,F和C的位置关系为:
F必定在C的__________。
21.若用后根遍历法遍历题21图所示的二叉树,其输出序列为__________。
题21图
22.具有n个顶点的连通图至少需有__________条边。
23.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于__________。
24.设顺序表的表长为n,且查找每个元素的概率相等,则采用顺序查找法查找表中任一元素,在查找成功时的平均查找长度为__________。
25.在索引顺序表上的查找分两个阶段:
一是查找__________,二是查找块。
26.文件的基本运算有检索和修改两类。
而检索又有三种方式,它们是__________存取、直接存取和按关键字存取。
27.在对一组关键字为(54,38,96,23,15,72,60,45,83)的记录采用直接选择排序法进行排序时,整个排序过程需进行__________趟才能够完成。
28.冒泡排序是一种稳定排序方法。
该排序方法的时间复杂度为__________。
29.分别写出题29图中二叉树的先根、中根、后根遍历序列。
题29图
30.设要将序列(Q,H,C,Y,P,A,M,S,R)按字母升序排序,请分别画出采用堆排序方法时建立的初始堆,以及第一次输出堆顶元素后经过筛选调整的堆的完全二叉树形态。
31.如题31图所示,输入元素为A,B,C,在栈的输出端得到一个输出序列ABC,试写出在栈的输入端三个可能的输入序列。
题31图
32.已知无向图G的邻接矩阵如题32图所示。
请画出该无向图,并写出按深度优先搜索时的访问序列。
题32图
33.对长度为20的有序表进行二分查找,试画出它的一棵判定树。
34.下面程序段为删除循环链表中第一个info域值等于x的结点,请填上程序中缺少的部分。
循环链表的结构如题34图所示:
题34图
structnode{intinfo;structnode*link;}
intDelete(structnode*head,intx)
{structnode*p,*q;/*p:
当前处理的结点;q:
p的前驱结点*/
if(!
head)return(0);
if(head→link==head)
{if(head→info==x)
{free(head);head=NULL;return(x)
}
return(0);
}
p=head;q=head;
while(q→link!
=head)q=(1);
while(p→link!
=head)
{if(p→info==x)
{(2);
if(p==head)head=(3);
free(p);return(x);
}
else{q=p;(4);}
}
return(0);
}
35.设以二叉链表为二叉树的存储结构,结点的结构如下:
lchilddatarchild
其中data域为整数,试设计一个算法voidchange(bitreptrr):
若结点左孩子的data域的值大于右孩子的data域的值,则交换其左、右子树。
全国2010年10月高等教育自学考试
1.下列描述中正确的是()
A.数据元素是数据的最小单位
B.数据结构是具有结构的数据对象
C.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合