数据结构练习试卷4(题后含答案及解析)
数据结构练习试卷4(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A.63B.64C.6D.7正确答案:B解析:在长度为64的有序线性表中,其中的64个数据元素是按照从大到小或从小到大的顺序排列有序的。
在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性表的最后。
按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较,若相等,则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。
同样,若相等,则查找成功,否则,继续进行比较。
依次类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。
因此,在长度为64的有序线性表中进行顺序查找,最坏的情况下需要比较64次。
因此,本题的正确答案为B。
知识模块:数据结构2.对长度为n的线性表进行顺序查找,在最坏情况下,所需要的比较次数为______。
A.1og2nB.n/2C.n2D.n+1正确答案:C解析:在长度为n的线性表中进行顺序查找,最坏情况下需要比较n次。
选项C正确。
知识模块:数据结构3.设有100个结点,用二分法查找时,最大比较次数是______。
A.25B.50C.10D.7解析:在最坏情况下,二分法查找的比较次数均为[1og2(n+1)L]。
n为100时,最大比较次数为7。
所以,本题应该选择D。
知识模块:数据结构4.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用______的方法。
A.分块B.顺序C.二分法D.基于属性正确答案:A解析:二分法是快速查找方法,但要求线性表是有序的。
如果把线性表按趋势分块,也就是说,块之间有序,块内不一定有序。
这样就可以既能较快地查找,又能适应动态变化的要求。
本题正确答案为选项A。
知识模块:数据结构5.在最坏情况下,下列排序方法中时间复杂度最小的是______。
A.冒泡排序B.快速排序C.插入排序D.堆排序正确答案:D解析:在最坏情况下:冒泡排序、快速排序和插入排序需要的比较次数均为n(n-1)/2,堆排序需要比较的次数为O(n1og2n)。
可知,在最坏情况下,堆排序的时间复杂度最小,本题的正确答案为选项D。
知识模块:数据结构6.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。
A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2正确答案:D解析:假设线性表的长度为n,在最坏情况下,冒泡排序和快速排序需要的比较次数为n(n-1)/2。
由此可见,选项D正确。
知识模块:数据结构7.n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为______。
A.O(1)B.O(1og2n)C.O(n2)D.O(n)解析:最好情况下至少需要一趟排序,即比较n-1次。
选项D为本题正确答案。
知识模块:数据结构8.若原始数据序列(23,4,45,67,12,8,19,7)采用直接插入排序法(顺序地将每个元素插入到它之前的适当位置)排序,则进行完第4趟后的排序结果是______。
A.4,8,45,23,67,12,19,7B.4,7,8,12,23,45,67,19C.4,12,8,19,7,23,45,67D.4,12,23,45,67,8,19,7正确答案:D解析:直接插入排序的思想是,从序列的第2个元素开始遍历,每次将遍历的元素插入到其前面序列的适当位置,使该元素及其之前的元素有序。
所以,4趟排序后,原序列的前5个元素已排序。
故本题应该选择D。
知识模块:数据结构9.下面的排序方法中,关键字比较次数与记录的初始排列无关的是______。
A.希尔排序B.冒泡排序C.直接插入排序D.直接选择排序正确答案:D解析:如果初始排列基本有序,则对希尔排序来说,前几趟的插入工作大为减少。
冒泡排序和直接插入排序都与初始排序序列有关,只有直接选择排序与初始序列无关。
本题正确答案为选项D。
知识模块:数据结构10.在排序算法中每一项都与其他诸项进行比较,计算出小于该项的项的个数,以确定该项的位置叫______。
A.插入排序B.交换排序C.选择排序D.枚举排序正确答案:D解析:在排序算法中每一项都与其他诸项进行比较,计算出小于该项的项的个数,以确定该项的位置,这种排序方式是枚举排序,也是选择排序的一种。
本题正确答案为选项D。
知识模块:数据结构11.在下列算法中,______算法可能出现下列情况:在最后一趟开始之前,所有的元素都不在其最终的位置上。
A.堆排序B.冒泡排序D.快速排序正确答案:C解析:在插入排序中,如果待排序列中的最后一个元素其关键字值为最小,则在最后一趟开始之前,前n-1个排好序的元素都不在其最终位置上,与排好序后的位置相差一个位置。
因此,本题正确答案为选项C。
知识模块:数据结构12.在文件“局部有序”或文件长度较小的情况下,最佳内部排序方法是______。
A.直接插入排序B.冒泡排序C.简单选择排序D.归并排序正确答案:A解析:当待排序列基本有序时:①直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也即n-1趟比较的时间复杂度由O(n2)降至O(n)。
②对冒泡排序来说,若最大关键字位于序列首部,则每趟排序仅能使其“下沉”一个位置,要使其下沉到底部仍需n-1趟排序,也即时间复杂度仍为O(n2)。
③对简单选择排序来说,其比较次数与待排序列的初始状态无关。
④归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时间复杂度为O(n1og2n)。
综上所述,本题正确答案为选项A。
知识模块:数据结构13.从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为______。
A.插入排序B.选择排序C.希尔排序D.归并排序正确答案:A解析:对于选项A,插入排序是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。
本题的正确答案为选项A。
对于选项B,通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并与第i个记录交换。
对于选项C,希尔排序是先将整个记录序列分割成若干个子序列,分别进行排序,待整个序列中的记录基本有序时,再对全体记录进行一次排序。
对于选项D,归并排序是将两个或两个以上的有序表组合成一个新的有序表。
知识模块:数据结构14.如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。
______是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。
B.希尔排序C.快速排序D.简单选择排序正确答案:A解析:根据表8-1,冒泡排序是稳定的排序方法。
在冒泡排序中,相邻元素进行比较,大元素交换到后面,相同元素不交换次序。
故本题应该选择A。
知识模块:数据结构15.对长度为n的线性表排序,在最坏的情况下,比较次数不是n(n-1)/2的排序方法是______。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序正确答案:D解析:假设线性表的长度为n,则在最坏情况下,快速排序算法、冒泡排序算法和直接插入排序算法需要的比较次数均为n(n-1)/2。
而堆排序的比较次数为n1og2n。
所以,本题应该选择D。
知识模块:数据结构16.冒泡排序在最坏情况下的比较次数是______。
A.n(n+1)/2B.n1og2nC.n(n-1)/2D.n/2正确答案:C解析:冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其他值较大的元素也向最终位置移动,此过程称为一趟冒泡。
对于有n个数据的序列,共需n-1趟排序,第i趟对从1到n-i个数据进行比较、交换。
冒泡排序的最坏情况是待排序序列逆序,第1趟比较n-1次,第2趟比较n-2次,依此类推,最后一趟比较1次,一共进行n-1趟排序。
因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+…+1,结果为n(n-1)/2。
本题的正确答案是选项C。
知识模块:数据结构17.在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是______。
A.冒泡排序B.基数排序C.快速排序D.归并排序正确答案:A解析:对于选项A,冒泡排序将被排序的记录数组R[1..n)垂直排列,每个记录R[i]看作是重量为ki的气泡。
根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R凡扫描到违反本原则的轻气泡,就使其向上“飘浮”。
如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。
由此可见,冒泡排序第1趟排序之后,最轻的“气泡”一定会被浮到最上面,即能把数据表中最大或最小元素放在其最终位置上。
故本题应该选择A。
对于选项B,基数排序的基本思想是:从低位到高位依次对待排序的关键码进行分配和收集,经过d趟分配和收集,就可以得到一个有序序列。
所以,基数排序第1趟排序之后,得到的是以数据表中各元素的个位进行排序的结果,不一定能把数据表中最大或最小元素放在其最终位置上。
对于选项C,快速排序的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。
递归地解这些子问题,然后将这些子问题的解组合为原问题的解。
快速排序第1趟排序之后,只能使某个关键元素被插入到一个位置,使得该位置之前的所有元素均小于(或大于)关键元素,之后的所有元素均大于(或小于)关键元素。
所以,也不一定能把数据表中最大或最小元素放在其最终位置上。
对于选项D,归并排序是将两个或两个以上的有序子表合并成一个新的有序表。
所以,归并排序第1趟排序之后,只能得到两两有序的一个序列,并不能把数据表中最大或最小元素放在其最终位置上。
知识模块:数据结构18.为了用一个数代表一批数,人们常用这批数据的算术平均值(简称平均值)或中位数来代表。
中位数就是位于这批数中间的数(大于它的数与小于它的数一样多)。
对于奇数个数而言,排序后很容易确定中间那个数;对于偶数个数而言,排序后中间会有两个数,再取这两个数的算术平均,就是中位数。
以下关于平均值与中位数的叙述中,______是不正确的。
A.中位数比平均值稳健,不易受极端值影响B.每个数据加倍后,平均值也加倍;每个数据增加1后,平均值也增加1 C.三组各有n个数据有三个中位数,它们的中位数就是这三组数据全体的中位数D.三组各有n个数据有三个平均值,它们的平均值就是这三组数据全体的平均值正确答案:C解析:选项C的说法是错误的。
(完整)东南大学十套数据结构试题及答案,推荐文档
数据结构试卷(一)三、计算题(每题 6分,共24 分) 3.已知一个图的顶点集 V 和边集E 分别为:V={1,2,3,4,5,6,7};E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。
4.画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。
四、 阅读算法(每题 7分,共14分)1. LinkList mynote(LinkList L){//L 是不带头结点的单链表的头指针if(L&&L-> next){q=L ; L=L — >next ; p=L ;S1: while(p — >n ext) p=p — >next ; S2: p — >next=q ; q — >next=NULL ;}return L ;}请回答下列问题: (1 )说明语句S1的功能; (2) 说明语句组S2的功能;(3) 设链表表示的线性表为(a 1,a 2,…,a n ),写出算法执行后的返回值所表示的线性 表。
2. void ABC(BTNode * BT){if BT {ABC (BT->left); ABC (BT->right); cout<<BT->data<<''; } }该算法的功能是:五、 算法填空(共 8分) 二叉搜索树的查找 一谗归算法:bool Fi nd(BTreeNode* BST,ElemType & item){if (BST==NULL) return false; // 查找失败 else { if (item==BST->data){ item=BST->data;// 查找成功 return_______________________ ;}else if(item<BST->data) return Find( ,item);1.在如下数组A 中链接存储了一个线性表,A [0].next ,试写出该线性表。
数据结构考试试题库含答案解析
数据结构考试试题库含答案解析数据结构习题集含答案⽬录⽬录......................................................................................................... 错误!未定义书签。
选择题..................................................................................................... 错误!未定义书签。
第⼀章绪论.................................................................................................................. 错误!未定义书签。
第⼆章线性表............................................................................................................ 错误!未定义书签。
第三章栈和队列........................................................................................................ 错误!未定义书签。
第四章串.................................................................................................................... 错误!未定义书签。
第五章数组和⼴义表................................................................................................ 错误!未定义书签。
数据结构第四章考试题库(含答案)
第四章串一、选择题1.下面关于串的的叙述中,哪一个是不正确的?()【北方交通大学 2001 一、5(2分)】A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储2 若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘’,执行concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,i ndex(S2,‘8’),length(S2))) 其结果为()【北方交通大学 1999 一、5 (25/7分)】A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345E.ABC###G1234 F.ABCD###1234 G.ABC###012343.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串 B.联接 C.匹配 D.求串长【北京邮电大学 2000 二、4(20/8分)】【西安电子科技大学 1996 一、1 (2分)】4.已知串S=‘aaab’,其Next数组值为()。
【西安电子科技大学 1996 一、7 (2分)】A.0123 B.1123 C.1231 D.12115.串‘ababaaababaa’的next数组为()。
【中山大学 1999 一、7】A.9 B.2 C.6 D.456.字符串‘ababaabab’的nextval 为()A.(0,1,0,1,04,1,0,1) B.(0,1,0,1,0,2,1,0,1)C.(0,1,0,1,0,0,0,1,1) D.(0,1,0,1,0,1,0,1,1 )【北京邮电大学 1999 一、1(2分)】7.模式串t=‘abcaabbcabcaabdab’,该模式串的next数组的值为(),nextval数组的值为()。
数据结构试题(含答案)讲解
数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。
2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。
A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。
A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。
A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。
A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。
所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。
A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。
A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。
10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。
A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。
数据结构(第4版)习题及实验参考答案数据结构复习资料完整版(c语言版)
数据结构(第4版)习题及实验参考答案数据结构复习资料完整版(c语言版)数据结构基础及深入及考试习题及实验参考答案见附录结论1、数据的逻辑结构是指数据元素之间的逻辑关系。
即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
2、数据的物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。
它依赖于计算机。
存储结构可分为4大类:顺序、链式、索引、散列3、抽象数据类型:由用户定义,用以表示应用问题的数据模型。
它由基本的数据类型构成,并包括一组相关的服务(或称操作)。
它与数据类型实质上是一个概念,但其特征是使用与实现分离,实行封装和信息隐蔽(独立于计算机)。
4、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。
5、在数据结构中,从逻辑上可以把数据结构分成(C)A、动态结构和表态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构6、算法的时间复杂度取决于(A)A、问题的规模B、待处理数据的初态C、问题的规模和待处理数据的初态线性表1、线性表的存储结构包括顺序存储结构和链式存储结构两种。
2、表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为(E),删除一个元素需要移动的元素的个数为(A)。
A、(n-1)/2B、nC、n+1D、n-1E、n/2F、(n+1)/2G、(n-2)/23、“线性表的逻辑顺序与存储顺序总是一致的。
”这个结论是(B)A、正确的B、错误的C、不一定,与具体的结构有关4、线性表采用链式存储结构时,要求内存中可用存储单元的地址(D)A、必须是连续的B、部分地址必须是连续的C一定是不连续的D连续或不连续都可以5、带头结点的单链表为空的判定条件是(B)A、head==NULLB、head->ne某t==NULLC、head->ne某t=headD、head!=NULL6、不带头结点的单链表head为空的判定条件是(A)A、head==NULLB、head->ne某t==NULLC、head->ne某t=headD、head!=NULL7、非空的循环单链表head的尾结点P满足(C)A、p->ne某t==NULLB、p==NULLC、p->ne某t==headD、p==head8、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B)A、O(1)B、O(n)C、O(n2)D、O(nlog2n)数据结构(第4版)习题及实验参考答案9、在一个单链表中,若删除p所指结点的后继结点,则执行(A)A、p->ne某t=p->ne某t->ne某t;B、p=p->ne某t;p->ne某t=p->ne某t->ne某t;C、p->ne某t=p->ne某t;D、p=p->ne某t->ne某t;10、在一个单链表中,若在p所指结点之后插入所指结点,则执行(B)A、->ne某t=p;p->ne某t=;B、->ne某t=p->ne某t;p->ne某t=;C、->ne某t=p->ne某t;p=;D、p->ne某t=;->ne某t=p;11、在一个单链表中,已知q是p的前趋结点,若在q和p之间插入结点,则执行(C)A、->ne某t=p->ne某t;p->ne某t=;B、p->ne某t=->ne某t;->ne某t=p;C、q->ne某t=;->ne某t=p;D、p->ne某t=;->ne某t=q;12、在线性结构中,第一个结点没有前趋结点,其余每个结点有且只有1个前趋结点。
(完整word版)数据结构试题试卷四含答案
模拟试题四模拟试题四一、选择题(20分)1。
由两个栈共享一个存储空间的好处是()。
A)减少存取时间,降低下溢发生的几率B)节省存储空间,降低上溢发生的几率C)减少存取时间,降低上溢发生的几率D)节省存储空间,降低下溢发生的几率2。
设有两个串p和q,求q在p中首次出现位置的运算称做()。
A)连接B)模式匹配 C)求子串D)求串长3。
n个顶点的连通图中边的条数至少为()。
A)0 B)l C)n—l D)n4.对一个具有n个元素的线性表,建立其有序单链表的时间复杂度为( )。
A)O(n)B)O(1)C)O(n2) D) O(log2n)5.在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是( )。
A) p—>next=s; s—〉prior=n;p->next—>prior=s;s-〉next:p->next。
B) s—〉priOFp;s->next—p->next;p—>next=s; p—〉next->priOFS.C) p-〉next=s;p-〉next—〉priOFS; s->prior=p; s-〉next=p—〉next.D) s—>prior=p; s-〉next=p—〉next; p-〉next—〉priOFS;p-〉next=S.6,串的长度是( ).A)串中不同字符的个数 B)串中不同字母的个数C)串中所含字符的个数n(n>0) D)串中所含字符的个数n(n≥0)7.若有一个钱的输入序列是l,2,…,n,输出序列的第一个元素是n,则第i个输出元素是()。
A) n—i B) n—i—l C)n—i+l D)不确定8.设有一个栈,元素的进栈次序为A,B,C,D,E,下列( )是不可能的出栈序列。
A) A,B,C,D,E B)B,C, D,E,AC)E,A, B,C,D D)E,D, C,B,A9。
在一棵度为3的树中,度为3的结点数有2个,度为2的结点数有1个,度为l的结点数有2个,那么度为0的结点数有()个。
数据结构第四章串习题及答案
习题四串一、单项选择题1.下面关于串的的叙述中,哪一个是不正确的?()A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储2.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储 B.数据元素是一个字符C.可以链接存储 D.数据元素可以是多个字符3.串的长度是指()A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数4.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串 B.联接 C.匹配 D.求串长5.若串S=“softwa re”,其子串的个数是()。
A.8 B.37 C.36 D.9二、填空题1.含零个字符的串称为______串。
任何串中所含______的个数称为该串的长度。
2.空格串是指__ __,其长度等于__ __。
3.当且仅当两个串的______相等并且各个对应位置上的字符都______时,这两个串相等。
一个串中任意个连续字符组成的序列称为该串的______串,该串称为它所有子串的______串。
4.INDEX(‘DATAST RUCTU RE’,‘STR’)=________。
5.模式串P=‘abaabc ac’的next函数值序列为________。
6.下列程序判断字符串s是否对称,对称则返回1,否则返回0;如 f("abba")返回1,f("abab")返回0;int f((1)__ ______){int i=0,j=0;while(s[j])(2)___ _____;for(j--; i<j && s[i]==s[j]; i++,j--);return((3)___ ____)}7.下列算法实现求采用顺序结构存储的串s和串t的一个最长公共子串。
计算机专业基础综合数据结构(线性表)历年真题试卷汇编4
计算机专业基础综合数据结构(线性表)历年真题试卷汇编4(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.静态链表中指针表示的是( )。
【中南大学2003二、2(1分)】(分数:2.00)A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置√D.左链或右链指向的元素的地址解析:2.链表不具有的特点是( )。
【电子科技大学2012一、3(2分)】【福州大学1998一、8(2分)】【南京理工大学2005一、13(1分)】(分数:2.00)A.插入、删除不需要移动元素B.可随机访问任一元素√C.不必事先估计存储空间D.所需空间与线性长度成正比解析:3.在n个结点的线性表的数组实现中,算法的时间复杂性是O(1)的操作是( )。
【哈尔滨工业大学2003二、1(1分)】(分数:2.00)A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)√B.在第i个结点后插入一个新结点(1≤i≤n)C.删除第i个结点(1≤f≤n)D.以上都不对解析:4.(1)静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第f个元素的时间与i无关。
(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是( )。
【南京理工大学2000一、3(1.5分)】(分数:2.00)A.(1),(2)B.(1) √C.(1),(2),(3)D.(2)解析:5.静态链表与动态链表相比,其缺点是( )。
【北京理工大学2006九、5(1分)】(分数:2.00)A.插入、删除时需移动较多数据B.有可能浪费较多存储空间√C.不能随机存取D.以上都不是解析:解析:静态链表首先要定义一个一维数组空间,每个数组元素有两个分量,一是数据元素的值,二是指针。
指针指向下一个元素在数组中的位置(下标),插入和删除时只需修改指针,不移动数据。
数据结构(绪论)练习题与答案
1、计算机所处理的数据一般具备某种内在联系,这是指()。
A.数据和数据之间存在某种关系B.元素和元素之间存在某种关系C.元素内部具有某种结构D.数据项和数据项之间存在某种关系正确答案:B解析:在数据结构中讨论的关系指的是元素和元素之间的关系。
2、在数据结构中,与所使用的计算机无关的是数据的()结构。
A.逻辑B.存储C.逻辑和存储D.物理正确答案:A解析:逻辑结构与存储结构无关,也就是与使用的计算机无关。
3、在计算机中存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法正确答案:C解析:将数据逻辑结构映射成存储数据时,需要存储所有数据元素的值和数据元素之间关系。
4、数据结构在计算机内存中的表示是指()。
A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系正确答案:A解析:数据的存储结构是逻辑结构在计算机内存中的表示,它既保存数据元素,也保存数据元素之间的关系。
5、数据在计算机的存储器中表示时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称之为()。
A.逻辑结构B.顺序存储结构C.链式存储结构D.以上都对正确答案:B解析:顺序存储结构是逻辑结构的一种直接映射,通过数据元素之间的物理关系来表示逻辑关系。
6、数据采用链式存储结构时,要求()。
A.每个节点占用一片连续的存储区域B.所有节点占用一片连续的存储区域C.节点的最后一个域必须是指针域D.每个节点有多少后继节点,就必须设多少个指针域正确答案:A解析:在链式存储结构中,通常一个结点是整体分配存储空间的,所以每个结点占用一片连续的存储区域,所有结点的存储地址既可以连续也可以不连续,所以所有结点不一定占用一片连续的存储区域。
7、可以用()定义一个完整的数据结构。
A.数据元素B.数据对象C.数据关系D.抽象数据类型正确答案:D解析:抽象数据类型指的是用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑数据结构和逻辑数据结构上的运算,可以定义一个完整的数据结构。
数据结构练习题(含答案)
数据结构练习题(含答案)①A.操作对象B.计算方法C.逻辑结构D.数据映象②A.存储结构B.关系C.运算D.算法2.数据结构DS(DataStruct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。
①A.算法B.数据元素C.数据操作D.数据对象②A.操作B.映象C.存储D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.算法分析的目的是①,算法分析的两个主要方面是②。
①A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
①A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法②A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性1.2填空题(将正确的答案填在相应的空中)1.数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。
3.在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。
4.在图形结构中,每个结点的前驱结点数和后续结点数可以。
5.线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
6.算法的五个重要特性是____,____,____,____,____。
7.分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是____。
for(i=0;i<n;i++)for(j=0;j<n;j++)A[i][j]=0;8.分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是____。
