1.线性链表不具有的特点是( )。
C程序设计(链表)习题与答案
一、单选题1、链表不具有的特点是()。
A.不必事先估计存储空间B.插入、删除不需要移动元素C.可随机访问任一元素D.所需空间与线性表长度成正比正确答案:C2、链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放结点所占单元数B.只有一部分,存放结点值C.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针D.只有一部分,存储表示结点间关系的指针正确答案:C3、链表是一种采用()存储结构存储的线性表。
A.网状B.星式C.链式D.顺序正确答案:C4、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是()。
struct node {char data;struct node *next;} a,b,*p=&a,*q=&b;A.(*p).next=q;B.p.next=&b;C.a.next=q;D.p->next=&b;正确答案:B5、下面程序执行后的输出结果是()。
#include <stdio.h>#include <stdlib.h>struct NODE {int num; struct NODE *next;};int main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf("%d",p->num+q->next->num);return 0;}A.30B.40C.10D.20正确答案:B6、下面程序执行后的输出结果是()。
《数据结构》复习题题库
一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
910数据结构
科目名称:数据结构
请注意:答案必须写在答题纸上(写在试题上无效)。
一、选择题(2分/题,共20分)
1.执行下面程序段时,执行S语句的次数为()。
for ( int i = 1; i <= n; i++ )
for ( int j = 1; j <= i; j++ )
S;
A. B. /2 C. n(n+1) D.n(n+1)/2
2.线性链表不具有的特点是()。
(A)随机访问(B)不必事先估计所需存储空间大小(C)插入与删除时不必移动元素(D)所需空间与线性表长度成正比
3.在一个单链表中,若p所指结点之后插入一个结点s,则执行()。
(A)q = p->next; s->next = q; (B) q = p->next; p->next = s;
(C) s->next = p->next;p->next = s (D) p->next = s;
4.一棵度为4的树, , , ,分别是度为1 ,2 ,3 ,4的结点个数,终端结点
个数为,则有()。
(A)= + + + (B)= 2 + + 1
(C)= 4+ 3 + 2 + (D)= 3+ 2 + + 1
5.对于图进行从顶点1开始的深度优先搜索遍历,可得到顶点访问序列()
A.1,2,4,5,7,6,3
B.1,2,4,3,5,6,7
C.1,2,4,5,7,6,3
D.1,2,3,4,5,6,7
第 1 页共 3 页。
计算机专业数据结构综合测试2
数据结构测试(长春理工大学精品课)综合测试二一、选择1.链表不具有的特点是()查看答案A 可随机访问任一元素B 插入删除不需要移动元素C 不必事先估计存储空间D 所需空间与线性表的长度成正比正确答案为A解释:单链表不能随机访问某个元素,这种存储结构必须采用顺序访问的方式,根据头指针依此才能找到后继元素的地址,以便访问。
收起2.非空的循环单链表head的尾结点p满足()查看答案A p->next==NULLB p==NULLC p->next==headD p==head正确答案为C解释:循环链表的尾结点的后继应是头结点。
收起3.对稀疏矩阵进行压缩存储是为了()。
查看答案A 便于进行矩阵运算B 便于输入和输出C 节省存储空间D 降低运算的时间复杂度解释:矩阵采用压缩存储,相同的元素存一次,零元素不存,主要目的是为了节约内存空间,在很多时候为了找到相应元素,需要找到元素和存储位置的对应关系,反而增大了时间复杂度。
收起4.具有15个结点的二叉树的最小深度是()。
查看答案A 4B 5C 3D 6正确答案为A解释:n个结点的二叉树最小深度应是完全二叉树的深度logn+1,因此n=15时,最小深度是4。
收起5.在有n个叶子结点的哈夫曼树中,其结点总数为()查看答案A 不确定B 2nC 2n+1D 2n-1正确答案为D解释:赫夫曼树只有度为0和度为2的结点,叶子结点有n个,那么度为2的结点有n-1个,即总结点个数为2n-1个。
收起6.不带权的无向图的邻接矩阵()。
查看答案A 不一定是对称矩阵B 是对角线元素非零的对称矩阵C 是上三角矩阵D 是对角线元素为零的对称矩阵正确答案为D解释:无向图的邻接矩阵为对称矩阵,又因图中各顶点不包含到自身的关系,因此对角线上元素为0。
收起7.下列排序算法中,()算法可能会出现下面情况:初始数据有序,化费时间反而最多.查看答案A 堆排序B 冒泡排序C 快速排序D Shell排序正确答案为C解释:对于快速排序每次找到枢轴的位置基本将待排集合对分是最好的情况,如果待排集合基本有序,快速排序算法就退化了,时间复杂度可达到O(n*n)。
数据结构(山东联盟-滨州学院)智慧树知到答案章节测试2023年
第一章测试1.数据在计算机内存中的表示是指()A:数据元素之间的关系B:数据的逻辑结构C:数据的存储结构D:数据结构答案:C2.算法指的是()A:计算机程序B:解决问题的有限运算序列C:解决问题的计算方法D:排序算法答案:B3.在数据结构中,与所使用的计算机无关的数据结构是()A:逻辑结构和存储结构B:物理结构C:逻辑结构D:存储结构答案:C4.算法能正确地实现预定功能的特性称为算法的()。
A:可读性B:正确性C:健壮性D:高效性答案:B5.已知某算法的执行时间为(n+n2)log2(n+2),n为问题规模,则该算法的时间复杂度是()。
A:O((n+n^2)logn)B:O(nlogn)C:O(n^2logn)D:O(n^2)答案:C6.下面算法将一维数组a中的数据逆序存放到原数组中,空间复杂度为()。
for(i=0;i<n;i++) b[i] = a[n-i-1];for(i=0;i<n;i++) a[i] = b[i];A:O(n2)B:O(n)C:O(logn)D:O(1)答案:B第二章测试1.链表不具备的特点是()。
A:不必事先估计存储空间B:所需空间与其长度成正比C:插入和删除不需要移动任何元素D:可随机访问任意一个结点答案:D2.线性表的顺序存储表示优于链式存储表示。
A:对B:错答案:B3.顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。
A:错B:对答案:B4.在设头、尾指针的单链表中,与长度n有关的操作是( )。
A:删除最后一个结点B:在p结点之后插入一个结点C:删除第一个结点D:在第一个结点之前插入一个结点答案:A5.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。
A:p->next=s->next;s->next=p;B:p->next=s;s->next=q;C:s->next=p->next;p->next=-s;D:q->next=s; s->next=p;答案:D6.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
计算机专业基础综合数据结构(线性表)历年真题试卷汇编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 数据元素是数据的基本单位,..数据项.......是具有独立含义的最小标识单位。
3 数据之间的关系(逻辑结构)有四种集合、线性结构、树形结构、网状结构或图状结构,可分为....................... ....、...................两大类。
4 数据的存储结构包括..顺序存储结构.....................、..链式存储结构..........................二、问答题1.什么是数据结构?什么是数据类型?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
2.叙述算法的定义与特性。
答:算法是对待定问题求解步骤的一种描述,他是指令的有限序列,其中每一条指令表示一个或多个操作。
一个算法具有以下5个重要特性:1)、有穷性 2)、确定性3)、可行性 4)、输入 5)、输出3. 叙述算法的时间复杂度。
答:算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时量度,记作T(n)=O(f(n))他表示随着问题规模n的增大,算法执行时间增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。
三、判断题(在各题后填写“√”或“×”)1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。
(×)2.下列几种数量级从小到大的排列顺序为:O(1) 、O(logn)、O(n) 、O(nlogn) 、O(n2) 、O(n3 ) 、O(2n)。
(√)四、1.计算机执行下面的语句时,语句s的执行频度(重复执行的次数)为 _______ 。
FOR(i=l;i<n-l;i++)FOR(j=n;j>=i;j--)s;2.有下列运行时间函数:(1)T1 (n)=1000; (2)T2(n)=n2+1000n; (3)T3(n)=3n3+100n2+n+1;分别写出相应的大O表示的运算时间。
国开作业数据结构(本)-单元测试40参考(含答案)
题目:线性表的顺序存储比链式存储最与利于进行()操作。
选项A:表尾插入或删除选项B:表头插入或删除选项C:查找选项D:按值插入或删除答案:表尾插入或删除题目:链表不具备的特点是()。
选项A:插入、删除不需要移动元素选项B:所需空间与其长度成正比选项C:不必事先估计存储空间选项D:可随机访问任一结点答案:可随机访问任一结点题目:向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。
选项A:7选项B:63选项C:63.5选项D:8答案:63.5题目:在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n)之前插入一个新元素时,需要依次后移()个元素。
选项A:i选项B:n-i+1选项C:n-i选项D:n-i-1答案:n-i+1题目:在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n),需要前移()个元素。
选项A:n-i+1选项B:n-i选项C:i选项D:n-i-1答案:n-i题目:一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是()。
选项A:98选项B:102选项C:106选项D:100答案:100题目:用链表表示线性表的优点是()。
选项A:便于插入和删除选项B:便于随机存取选项C:数据元素的物理顺序和逻辑顺序相同选项D:花费的存储空间较顺序存储少答案:便于插入和删除题目:带头结点的链表为空的判断条件是()(设头指针为head)。
选项A:head-next==head。
第二章线性表答案
第⼆章线性表答案第2章线性表⼀选择题1.下述哪⼀条是顺序存储结构的优点?( A )A.存储密度⼤ B.插⼊运算⽅便 C.删除运算⽅便 D.可⽅便地⽤于各种逻辑结构的存储表⽰2.下⾯关于线性表的叙述中,错误的是哪⼀个?( B )A.线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元。
B.线性表采⽤顺序存储,便于进⾏插⼊和删除操作。
C.线性表采⽤链接存储,不必占⽤⼀⽚连续的存储单元。
D.线性表采⽤链接存储,便于插⼊和删除操作。
3.线性表是具有n个( C )的有限序列(n>0)。
A.表元素 B.字符 C.数据元素 D.数据项 E.信息项4.若某线性表最常⽤的操作是存取任⼀指定序号的元素和在最后进⾏插⼊和删除运算,则利⽤( A )存储⽅式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表5.某线性表中最常⽤的操作是在最后⼀个元素之后插⼊⼀个元素和删除第⼀个元素,则采⽤( D )存储⽅式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表D.仅有尾指针的单循环链表6.设⼀个链表最常⽤的操作是在末尾插⼊结点和删除尾结点,则选⽤( D )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表7.若某表最常⽤的操作是在最后⼀个结点之后插⼊⼀个结点或删除最后⼀个结点。
则采⽤( D )存储⽅式最节省运算时间。
A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表8. 静态链表中指针表⽰的是( BC ).A.内存地址 B.数组下标 C.下⼀元素地址D.左、右孩⼦地址9. 链表不具有的特点是( C )A.插⼊、删除不需要移动元素 B.可随机访问任⼀元素C.不必事先估计存储空间 D.所需空间与线性长度成正⽐10. 下⾯的叙述不正确的是( BC )A.线性表在链式存储时,查找第i个元素的时间同i的值成正⽐表4s→供选择的答案:A.连续B.单向链接C.双向链接D.不连接E.循环链接F.树状G.⽹状H.随机I.顺序J.顺序循环12.(1) 静态链表既有顺序存储的优点,⼜有动态链表的优点。
数据结构第二章试题
第2章线性表一、选择题1.链表不具备的特点是()。
A.可随机访问任意结点B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与其长度成正比2.不带头结点的单链表head为空的判定条件是()。
==NULLB. head->next==NULL >next==head!=NULL3.带头结点的单链表head为空的判定条件是()。
==NULLB. head->next==NULL >next==head!=NULL4.带头结点的双循环链表L为空表的条件是()。
A.L==NULL B.L->next->==NULL C.L->prior==NULL >next==L5.非空的循环链表head的尾结点(由P所指向)满足()。
A.p->next==NULL B.p==NULL C.p->next==head ==head6.在循环双链表的p所指结点之前插入s所指结点的操作是()。
A.p->prior=s;s->next=p;p->prior->next=s;s->prior=p->prior;B.p->prior=s;p->prior->next=s;s->next=p;s->prior=p->prior;C.s->next=p;s->prior=p->prior;p->prior=s;p->right->next=s;D. s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s;7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。
A.单链表B.给出表头指针的单循环链表C.双链表D.带头结点的双循环链表8.某线性表最常用的操作是在最后一个结点之后插入一个节点或删除第一个结点,故采用()存储方式最节省运算时间。
数据结构试题库
数据结构试题库数据结构试题库一、单项选择题1. 下列程序段所代表的算法的时间复杂度为( D )。
x=n;y=0;while (x>=(y+1)*(y+1))y++;(A) O(n) (B)O(n 2) (C)O(log 2n) (D)O( n )2. 在一个长度为n 的以顺序结构存储的线性表中,假设在线性表的任何位置删除元素的概率相等,则删除一个元素时线性表所需移动元素的平均次数为( B )。
(A) n2 (B)(n-1)/2 (C)(n+1)/2 (D)n/23. 在一个栈顶指针为HS 的链栈中插入一个*s 结点时,应执行执行操作为( C )。
(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;4. 假设以带头结点的循环链表表示队列Q,并且队列只设一个头指针front ,不设队列尾指针。
若要进队一个元素*s ,则在下列程序算法的空白处应添加的操作语句是( A )。
void AddQueue(struct linkqueue Q){ p=Q->front;while(p->next!=Q->front) p=p->next;}(A)p->next=s;s->next=Q->front;(B)Q->front->next=s;Q->front=s;(C)s->next=p;p->next=Q->front;(D)Q->front->next=s;s->next=p;5. 设高度为h 的二叉树上只有度为0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为( B )。
(A)2 h-1 (B)2 h-1 +1 (C)2 h-1 (D)2 h-1 -36.现有数据集{53,30,37,12,45,24,96} ,从空二叉树逐个插入数据形成二叉排序树,v5v4 ^v1 v2v5 ^v2 ^v3v3 v6 ^v6 ^ v3 ^v4 ^v5 v4v6^若希望查找此二叉树中任一结点的平均查找长度最小,则应选择下面哪个序列输入( C )。
14秋北交《数据结构(专)》在线作业二答案
?
正确答案:C
25.向顺序栈中压入新元素时,应当()。
A.先移动栈顶指针,再存入元素
B.先存入元素,再移动栈顶指针
C.先后次序无关紧要
D.同时进行
?
正确答案:A
26.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。
A. edcba
B. decba
C. abcde
D. dceab
A.空或只有一个结点高度等于其结点数
B.任一结点无左孩子
C.任一结点无右孩子
?
正确答案:B
30.在有n个叶子结点的哈夫曼树中,其结点总数为()。
A.不确定
B. 2n
C. 2n+1
D. 2n-1
?
正确答案:D
31.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A. 3,2,1
B. 2,1,3
C. 3,1,2
D. 1,3,2
?
正确答案:C
32.如果一个树中,结点A有3个兄弟,而且B为A的双亲,则B的度为()。
A. 1
B. 3
C. 4
D. 5
?
正确答案:C
33.对某二叉树进行前序遍历的结果为ABDEFC,中A. DBFEAC
B. DFEBCA
?
正确答案:D
27.二叉树上叶结点数等于()。
A.分支结点数加1
B.单分支结点数加1
C.双分支结点数加1
D.双分支结点数减1
?
正确答案:C
28.具有65个结点的完全二叉树其深度为()。
A. 8
B. 7
C. 6
D. 5
?
正确答案:B
数据结构第二章习题
第2章线性表一、单项选择题1.线性表是具有n个_________的有限序列。
A.表元素B.字符C.数据元素D.数据项2.线性表是_________。
A.一个有限序列,可以为空B.一个有限序列,不可以为空C.一个无限序列,可以为空D.一个无限序列,不可以为空3.线性表采用链表存储时,其地址_________。
A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以4.链表不具备的特点是_________。
A.可随机访问任一结点B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与其长度成正比5.设线性表有n个元素,以下操作中,_________在顺序表上实现比在链表上实现效率更高。
A.输出第i(1≤i≤n)个元素值B.交换第1个元素与第2个元素的值C.顺序输出这n个元素的值D.输出与给定值x相等的元素在线性表中的序号6.设线性表中有2n个元素,以下操作中,_________在单链表上实现要比在顺序表上实现效率更高。
A.删除指定的元素B.在最后一个元素的后面插入一个新元素C.顺序输出前k个元素D.交换第i个元素和第2n-i-1个元素的值(i=0,1…,n-1)7.如果最常用的操作是取第i个结点及其前驱,则采用_________存储方式最节省时间。
A.单链表B.双链表C.单循环链表D.顺序表8.与单链表相比,双链表的优点之一是_________。
A.插入和删除操作更简单B.可以进行随机访问C.可以省略表头指针或表尾指针D.访问前后相邻结点更灵活9.带头结点的单链表L为空的判定条件是_________。
A.L= =NULL B.L->next= =NULLC.L->next= =L D.L!=NULL10.在一个具有n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是_________。
A.O(1) B.O(n)C.O(n2) D.O(nlog2n)11.在一个长度为n(n>1)的带头结点的单链表h上,另设有尾指针r(指向尾结点),执行_________操作与链表的长度有关。
第2章习题(带答案)
1.链表不具有的特点是。
A.可随机访问任一个元素 B. 插入删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与线性表长度成正比2.在一个具有n个结点的单链表中查找值为x的某结点,若查找成功,则平均比较个结点。
A.n B. n/2 C. (n-1)/2 D. (n+1)/23.在单链表中P所指结点之后插入一个元素x的主要操作语句序列是 s=(node *)malloc(sizeof(node));、 s->data=x;、 s->next=p->next、 p->next=s。
4.在单链表中查找第i个元素所花的时间与i成正比。
(√)5.在带头结点的双循环链表中,任一结点的前驱指针均不为空。
(√)6.用链表表示线性表的优点是 ( )。
A. 便于随机存取B. 花费的存储空间比顺序表少C. 便于插入与删除D. 数据元素的物理顺序与逻辑顺序相同7.在双向链表中删除P所指结点的主要操作语句序列是p->prior->next=p->next; 、 p->next->prior=p->prior; 、 free(p); 。
8.下述哪一条是顺序存储结构的优点?()A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示9.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表10. 对任何数据结构链式存储结构一定优于顺序存储结构。
(×)11.对于双向链表,在两个结点之间插入一个新结点需修改的指针共 4 个,单链表为____2___个。
12.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈13.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
中石油华东《数据结构》2020年秋季学期在线作业(一)答案
18.下面关于数据结构的叙述中,正确的叙述是()。
A.顺序存储方式的优点是存储密度大,且插、删除运算效率高
B.链表中每个结点都恰好包含一个指针
C.包含n个结点的二叉排序树的最大检索长度为log2n
D.将一棵树转为二叉树后,根结点无右子树
答案:D
19.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
A.顺序表
B.单链表
C.双链表
D.单循环链表
答案:A
20.题目和答案如下图所示:
{图}
A.A
B.B
C.C
D.D
答案:B
答案:B
14.树最适合用来表示()。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
答案:C
15.下面关于线性表的叙述中,错误的是哪一个?()。
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。A.edcbaB. Nhomakorabeaecba
C.decab
D.abcde
答案:C
3.关于逻辑结构和存储结构,正确的描述是()。
A.线性数据结构必须采用链式存储结构
B.一种逻辑结构,可以用不同的存储结构来存储,反之亦然
C.一种逻辑结构,可以用不同的存储结构来存储,反之不然
D.一种存储结构只能表示一种逻辑结构
答案:B
4.二分查找法要求查找表中各元素的键值必须是()排列。
《数据结构》2020年秋季学期在线作业(一)
试卷总分:100得分:100
数据结构习题及答案
第一章1.在数据结构中,从逻辑上可以把数据结构分为(C )A.动态结构和静态结构 B. 紧凑结构和非紧凑结构C.线性结构和非线性结构 D. 内部结构和外部结构● 2.在数据结构中,与所使用的计算机无关的是( A )A. 逻辑结构B. 存储结构C. 逻辑和存储结构D. 物理结构3.下面程序的时间复杂度为____O(mn)_______。
for (int i=1; i<=m; i++)for (int j=1; j<=n; j++ )S+=i第二章线性表●链表不具备的特点是(A)A 可以随机访问任一结点(顺序)B 插入删除不需要移动元素C 不必事先估计空间D 所需空间与其长度成正比2. 不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B )A head==nullB head->next==nullC head->next==headD head!=null●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D)A 单链表B 双链表C 循环链表D 顺序表● 4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)A 顺序表B 用头指针表示的单循环链表C 用尾指针表示的单循环链表D 单链表● 5.在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,则操作的时间复杂度为( D )A O(1)B O(log2n)C O(n2)D O(n)● 6.在一个长度为n (n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长度有关A 删除单链表中第一个元素B 删除单链表中最后一个元素C 在第一个元素之前插入一个新元素D 在最后一个元素之后插入一个新元素●7.与单链表相比,双向链表的优点之一是(D)A 插入删除操作更简单B 可以进行随机访问C 可以省略表头指针或表尾指针D 顺序访问相邻结点更容易●8.若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域(头结点的地址)中存放的是( B )A list的地址B list的内容C list指的链结点的值D 链表第一个链结点的地址●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B )A list2比list1占用更多的存储单元B list1与list2占用相同的存储单元C list1和list2应该是相同类型的指针变量D 双向链表比单链表占用更多的存储单元10.链表中的每个链结点占用的存储空间不必连续,这句话正确吗? (不正确)11. 某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13个)元素的存储地址为148。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.线性链表不具有的特点是()。
A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必移动元素D.所需空间与线性表长度成正比2.设一个栈的输入序列为1,2,3,4,则输出序列不可能是( )。
A.1, 2, 3, 4 B.4, 3, 2, 1 C.1, 3, 2, 4 D.4,1,2,33.下列排序算法中,( )排序在每趟结束后不一定能选出一个元素放到其排好序的最终位置上。
A.归并B.冒泡C.选择D.堆4.下列序列中,( )是执行第一趟快速排序后得到的序列(排序的关键字类型是字符串)。
A.[da, ax, eb, de, bb] ff [ha, gc] B.[cd, eb, ax, da] ff [ha, gc, bb]C.[gc, ax, eb, cd, bb] ff [da, ha] D.[ax, bb, cd, da] ff [eb, gc, ha]5.设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[ ]中,A[0][0]存入B[0]中,则A[8][5]在B[ ]中()位置。
A.32 B.33 C.41 D.656. 下面哪一种图的邻接矩阵肯定是对称矩阵( )。
A.有向图B.无向图C.AOV网D.AOE网7.具有2008个结点的二叉树,其深度至少为( )。
A.9 B.10 C.11 D.128. 关键路径是边表示活动的网(AOE网)中的( )。
A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长的回路D.最短的回路9.一个广义表为(a, (a,b), d, e, ((i,j) ,k)),则该广义表的长度为( )。
A.不确定B.8 C.5 D.610.设循环队列中数组的下标范围是0~n –1,其头尾指针分别为f和r,则其元素个数为( )。
A.r – f B.r – f + 1 C.( r – f ) mod n + 1 D.( r – f + n ) mod n1.算法具有的五个重要特性是:有穷性,确定性,_______,输入和输出。
2.一组记录的关键字为(45,80,55,40,42,85),则利用堆排序的方法建立的初始堆为____________。
3.对如下无向图G,从结点V1出发,写出一个按深度优先遍历图的结点序列:__________________。
○1○2○5○3○4第3题图○6第4题图4.写出右上图中的一个拓扑有序序列____________________。
5.对于顺序存储的线性表,访问结点和删除结点的时间复杂度分别为_____________。
6.平衡二叉树上所有结点的平衡因子只可能是________________。
7.假定对线性表R[1..60]进行分块查找,共分为10块,每块长度等于6。
若假定查找索引表和块均用顺序查找的方法,则查找每一个元素的平均查找长度为___________。
8.将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为37的双亲结点编号为_______。
9.设有一个字符串s=’science’,其非空子串的数目是________。
10.有n个顶点的强连通有向图G至少有________条弧。
1.一棵二叉树的先序序列和中序序列分别如下,先序序列:ABCDEFGHIJ中序序列:CBDEAGIHJF(1)画出该二叉树。
(3分)(2)写出其后序序列。
(3分)2.给出用Kruskal算法构造下列带权图的最小生成树的过程。
3.已知一个长度为12的表(6,8,4,12,2,10,7,3,9,1,11,5)。
(1)将表中的元素依次插入到一个初始为空的二叉排序树中,画出该二叉排序树并求其在等概率下的平均查找长度。
(3分)(2)若先对表中的记录排序,构成有序表后再对其进行折半查找,画出判定树并求其在等概率下的平均查找长度。
(3分)4.已知哈希表地址空间为0..10,哈希函数为H(key) = key MOD 11,采用链地址法处理冲突,将下面数据序列依次插入该哈希表中,并求出在等概率下查找成功时的平均查找长度。
12,24,1,34,38,44,27,22。
5.假定用于通信的电文仅由8个字母a,b,c,d,e,d,f,g,h组成,各个字母在电文中出现的频率分别为5,23,3,6,10,11,36,4。
要求:(1)以这些频率作为叶子结点的权值构造Huffman树。
(2分)(2)试为这8个字母设计不等长Huffman编码。
(2分)(3)计算出电文总长度。
(2分)1. 有两个不带头结点的单循环链表,链表头指针分别为a和b。
编写一个过程将链表b链到链表a之后,链接后的链表仍保持循环链表形式。
2. 试编写一个计算二叉树的叶子结点数的算法。
要求二叉树采用链式存储结构。
3. 请写出监视哨设在高下标端的插入排序算法。
06 21. 具有n(n>0)个结点的完全二叉树的深度为()A. ⎡log2n⎤B.⎣ log2n⎦C. ⎣ log2n⎦+1D. ⎡log2n+1⎤2. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是()A.abcdeB.edcbaC.decbaD.dceab3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同且连续,称之为()A.存储结构B. 逻辑结构C.顺序存储结构D. 链式存储结构4. 对二叉排序树的左子树中所有结点与右子树中所有结点的关键字大小关系是( )A.小于B.大于C.等于D.不小于5. 按照二叉树的定义,具有3个节点的二叉树______种()A.2B.3C.4D. 56. 广义表((a))的表尾是( )A.a B. (a)C.() D. ((a))7.设有两个串p和q,求在q在p中首次出现的位置的运算称为()A.模式匹配B.连接C.求子串D. 求串长8. 引入二叉线索树的目的是()A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除C.为了能方便的找到双亲D.使二叉树的遍历结果唯一9.在有n个叶子结点的哈夫曼树中,其结点总数为A.不确定B.2n-1C.2nD.2n+110.与单链表相比,双向链表的优点之一是A.插入、删除更简单 B.可以进行随机访问C.可以省略表头指针或表尾指针 D.访问前后相邻结点更方便1.Prim算法适合求__________的网的最小生成树,而Kruskal算法适用于求___________的网的最小生成树。
2.循环单链表L为空的条件是________________。
3.在对队列中,新插入的元素只能插入到___________。
4.平衡二叉树上所有结点的平衡因子只可能是________________。
5.一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,99},当采用折半查找法查找关键字为82的元素时,_______________次比较后查找成功。
6.设二维数组A[6][10],每个数组元素占4个存储单元,若按行优先顺序存放数组元素,A[0][0]的存储地址是860,则A[3][5]的存储地址是_______________。
7.可以进行拓扑排序的一定是______________。
8.求单链表长度算法的时间复杂度是________。
9.在直接插入排序、希尔排序、直接选择排序、快速排序、堆排序和归并排序中,平均比较次数最少的排序方法是________________。
1.已知一个二叉树的中序遍历序列为DGBAECF, 后序遍历序列为GDBEFCA, 请给出:(3)画出该二叉树。
(3分)(4)写出其后序序列。
(3分).对关键字序列{11,78,10,1,3,2,4,21}构造哈希表,取散列地址为HT[0..10],散列函数为H(K)=K%11,试用线性探查法冲突,画出相应的哈希表,并分别求查找成功和不成功时的平均查找长度。
3. 已知关键字序列{503,87,512,61,908,170,897,275,653,462},采用快速排序算法对该序列作升序排序时的每一趟的结果。
4. 从一棵空树开始,逐个读入并插入下列关键字:{40,28,6,72,100,3,54,1,80,91,38}请首先建立二叉排序树,然后删除节点72,并给出删除节点72后的二叉树。
5.给定权集W={2,3,4,7,8,9},试构造关于W的一棵哈夫曼树,并求带权路径长度WPL。
1. 有一个有序单链表(从小到大排序),表头指针为L ,设计一个算法向该单链表中插入一个元素为x 的结点,并使插入后链表仍然有序。
2. 二叉树采用链式存储结构,试编写算法求二叉树的深度。
3. .二叉树采用链式存储结构,试设计一个按层次顺序(同层自左向右)遍历二叉树的算法。
答案A一、选择题(每小题2分,共20分)1.A2.D3.A4.A5.C6.B7.C8.A9.C 10.D二、填空题(每小题2分,共20分) 1.可行性 2.(85,80,55,40,42,45) 3.V 1, V 2, V 3, V 5 ,V 4,V 6, V 7, V 8 (答案不惟一) 4.1, 2, 3, 5, 6, 4 (答案不惟一) 5. O(1)和 O( n) 6. –1, 0, 1 7. 9 8. 18 9. 26 10.n三、解答下列各题 (每小题6分,共30分) 1.该二叉树为(3分): AB FCD G EH I J 后序序列:CEDBIJHGFA (3分)2. V1 V2 V2 V1 V2 1 1V3 V6 V3 V6 V3 V61 1V4 V5 V5 V4 2 V5(2分) (1分) (1分)V1 3 V2 V1 3 V2 1 1 4 V3 V6 V3 V6 1 1 V4 2 V5 V4 2 V5(1分) (1分) 3.(1)二叉排序树为: 64 82 5 7 12 13 109 ( 2分) 等概率下平均查找长度 ASL =(1+2*2+3*4+4*3+5*2)/12 = 13/4 = 3.25 (1分 ) (2)排序后进行折半查找的判定树为: 63 91 4 7 112 5 8 10 12 (2分) 等概率下平均查找长度 ASL =(1+2*2+3*4+4*5)/12 = 37/12 ≈3.08 (1分)第1页(共3页)4.哈希函数值为:(1分)H(12)=1 H(24)=2 H(1)=1 H(34)=1 H(38)=5 H(44)=0 H(27)=5 H(22)=0(2分) 5.(1)Huffman 树为:(2分) 98 39 59 17 22 23 36 7 10 11 113 4 5 6(2) 其huffman 编码为 (2分)注:此题答案不唯一,只要满足哈夫曼编码的要求都可。