数据结构第二章测试长春理工大学精品课
计算机专业数据结构第九章测试
![计算机专业数据结构第九章测试](https://img.taocdn.com/s3/m/6634d3e704a1b0717fd5ddf7.png)
数据结构测试(长春理工大学精品课)第9章排序一、选择题1.某内排序方法的稳定性是指( )。
查看答案A.该排序算法不允许有相同的关键字记录B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法D.以上都不对正确答案是D解释:稳定的排序方法指的是若有相同关键字的记录,待排序时在前面的记录排序后仍然排在前面的排序方法。
收起2.下面给出的四种排序法中( )排序法是不稳定性排序法。
查看答案A. 插入B. 冒泡C. 二路归并D. 堆正确答案是D解释:堆排序是不稳定的,交换时有可能把后面的排在前面。
收起3.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。
( )查看答案A.选择排序法 B. 插入排序法 C. 快速排序法 D. 堆排序法正确答案是A解释:简单选择排序是在待排记录中找到最小的和第一个相交换,再在除了第一个排完的以外找个最小的和第二个相交换,依此类推,n个记录的待排序列需要比较(n-1)+(n-2)+......+0=(n-1)*n/2收起4. 对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是查看答案( )A. lB. 4C. 3D. 2正确答案是B 收起5.下列四个序列中,哪一个是堆()。
查看答案A. 75,65,30,15,25,45,20,10B. 75,65,45,10,30,25,20,15C. 75,45,65,30,15,25,20,10D. 75,45,65,10,25,30,20,15正确答案是C解释:这是一个大根堆,每个结点都比左右孩子小。
收起6.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序是( )。
长春理工大学研究生入学考试《数据结构》考试大纲
![长春理工大学研究生入学考试《数据结构》考试大纲](https://img.taocdn.com/s3/m/b14137cb770bf78a65295490.png)
长春理工大学研究生入学考试《数据结构》考试大纲一、考试科目:数据结构二、适用专业:计算机科学技术学院所有专业三、参考书目:1.《数据结构》(C语言版)严蔚敏吴伟民编著,清华大学出版社, 2011.11。
四、考试内容:(一)主要考查目标1. 理解数据结构的基本概念,掌握数据的逻辑结构、存储结构及其差异,以及基本操作及实现。
2. 掌握基本的数据处理原理和方法,能够对算法进行设计和分析。
3. 能够选择合适的数据结构和方法进行问题求解。
(二)知识点1、线性表1) 线性链表的顺序存储结构;线性链表的链式存储结构;线性表的插入与删除2) 线性表的应用2、栈和队列1) 栈的基本概念;栈的顺序存储结构;栈的链式存储结构;栈的基本操作及应用2) 队列的基本概念;队列的顺序存储结构;队列的链式存储结构;队列的基本操作及应用3、串1) 字符串的基本操作及应用2)字符串的模式匹配4、数组与广义表1) 特殊矩阵的压缩存储2) 广义表的概念和表示;广义表存储结构3)数组及广义表的基本操作和应用5、树与二叉树1) 树的概念2) 二叉树的定义;二叉树的性质;二叉树的顺序存储结构和链式存储结构3) 二叉树遍历4) 线索化二叉树的构造5) 树的存储结构;森林与二叉树的转换;树与森林的遍历6) 哈夫曼(Huffman)树和哈夫曼编码;树的基本应用6、图1) 图的基本概念2) 图的邻接矩阵;邻接表3) 图的深度优先搜索;广度优先搜索4) 最小生成树5) 拓扑排序6)最短路径;关键路径;图的基本应用7、查找1)查找的基本概念2)顺序查找法3)折半查找法4)散列(Hash)表及其查找;散列表与散列方法5)各种查找方法的比较和应用8、内部排序1) 直接插入排序;折半插入排序2) 起泡排序3)简单选择排序4)希尔排序5)快速排序6) 堆排序7) 归并排序8)各种排序方法比较及应用最高贵的复仇是宽容。
有时宽容引起的道德震动比惩罚更强烈。
君子贤而能容罢,知而能容愚,博而能容浅,粹而能容杂。
数据结构第二章答案课件
![数据结构第二章答案课件](https://img.taocdn.com/s3/m/b5550ef7f18583d04864594c.png)
a1 a2
…
an e …
}
S.base
S.topS.top
Status Pop (SqStack &S, ElemType &e) {
// 若栈不空,则删除S的栈顶元素,
// 用e返回其值,并返回OK;
// 否则返回ERROR
if (S.top == S.base) return ERROR;
e = *--S.top;
1 (n 0,1)
相应的算法:
n! n * (n 1)! (n 1)
float fact(int n)
{ if (n==0||n==1) s=1;
else s=n*fact(n-1);
return s; }
若求5!,递归调用执行过程:
主函数 mani() printf(“fact(5)”)
输出 s=120.00
尽管一生只在学校里读过三个月的书但通过勤奋好学勤于思考发明了电灯电报留声机电影等一千多种成果成为著名的发明家例一数制转换例二括号匹配的检验例三表达式求值313尽管一生只在学校里读过三个月的书但通过勤奋好学勤于思考发明了电灯电报留声机电影等一千多种成果成为著名的发明家例一数制转换十进制数n和其他d进制数的转换算法基于以下原理
第一层调用
n=5 s=5*fact(4)
fact(5) =120
第二层调用
n=4 s=4*fact(3)
fact(4) =24
每一次递归调用并未立即得到
结果,而是进一步向深度递归
调用,直到n=1或n=0时,函数 fact才有结果为1,然后再一一 返回计算,最终得到结果。
第三层调用
n=3 s=3*fact(2)
例二、 括号匹配的检验
数据结构第二章测试(长春理工大学精品课)
![数据结构第二章测试(长春理工大学精品课)](https://img.taocdn.com/s3/m/ca08afbab0717fd5370cdc17.png)
数据结构测试(长春理工大学精品课)第2章线性表一、选择题1.下述( )是顺序存储结构的优点?查看答案A.存储密度大 B.插入运算方便C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示正确答案为A解释:插入运算和删除运算对于顺序存储结构需要移动大量的数据元素,顺序存储结构对于非线性的逻辑结构表示比较复杂,顺序存储结构中只需要存储数据元素,不像链式结构除了存数据元素还要存储关系,因此顺序存储结构的存储密度比较大。
收起2.下面关于线性表的叙述中,错误的是哪一个?( )查看答案A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
正确答案是B解释:顺序存储不利于插入删除,需要移动近一半的数据元素。
收起3.线性表是具有n个()的有限序列(n>0)。
查看答案A.表元素 B.字符C.数据元素 D.数据项解释:根据线性表的定义。
收起4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
查看答案A.顺序表 B.双链表C.带头结点的双循环链表 D.单循环链表正确答案是A解释:顺序存储结构做相应的操作时间复杂度分别为O(1),O(1),O(1)因此是最节省时间的。
收起5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
查看答案A.单链表 B.仅有头指针的单循环链表C.双链表 D.仅有尾指针的单循环链表正确答案是D解释:在仅有尾指针的单循环链表做相应操作的时间复杂度为O(1),O(1)收起6. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。
查看答案A. O(0)B. O(1)C. O(n)D. O(n2)解释:在顺序表的第i个位置插入一个元素平均需移动的元素的个数是[n+(n-1)+......+0]/(n+1)=n/2,因此算法时间复杂度为O(n)。
数据结构第七章测试(长春理工大学精品课)
![数据结构第七章测试(长春理工大学精品课)](https://img.taocdn.com/s3/m/e573472187c24028905fc317.png)
数据结构测试(长春理工大学精品课)第7章图一、选择题1.设无向图的顶点个数为n,则该图最多有()条边。
查看答案A.n-1 B.n(n-1)/2C.n(n+1)/2 D.n2正确答案是B解释: n个顶点相互都有关系,即边数最多。
边数=(n-1)+(n-2)+......+0=n(n-1)/2收起2.要连通具有n个顶点的有向图,至少需要()条边。
查看答案A.n-l B.nC.n+l D.2n正确答案是B解释:有向图要连通边数最少为n条,形成环。
收起3.一个有n个结点的图,最少有()个连通分量查看答案A.0 B.1C.n-1 D.N正确答案是B解释:图是连通图连通分量最少,即1个。
收起4.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
查看答案A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7正确答案是A收起5. 关键路径是事件结点网络中()。
查看答案A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.最长回路 D.最短回路正确答案是A解释:关键路径是由关键顶点和关键活动组成的。
收起6. 求解最短路径的Floyd算法的时间复杂度为( )。
查看答案A.O(n) B. O(n+c)C. O(n*n)D. O(n*n*n)正确答案是D收起7. 下列说法不正确的是()。
查看答案A.图的遍历是从给定的源点出发每一个顶点仅被访问一次C.图的深度遍历不适用于有向图B.遍历的基本算法有两种:深度遍历和广度遍历D.图的深度遍历是一个递归过程正确答案是B解释:图的深度遍历同样适用于有向图,算法中每个顶点均出发一次。
数据结构综合测试(一)(长春理工大学精品课)
![数据结构综合测试(一)(长春理工大学精品课)](https://img.taocdn.com/s3/m/a7a37724ef06eff9aef8941ea76e58fafab04529.png)
数据结构综合测试(⼀)(长春理⼯⼤学精品课)数据结构测试(长春理⼯⼤学精品课)综合测试⼀⼀、选择1.数据结构中,与所使⽤的计算机⽆关的是数据的()结构。
查看答案A 顺序B 物理C 逻辑D 物理和存储正确答案为C解释:与计算机⽆关的结构是逻辑结构,是⽤户对数据的组织形式,存储时的物理结构才与计算机有关。
收起2.在长度为n的顺序表中插⼊⼀个元素时,等概率情况下的平均移动元素的次数是()查看答案A (n-1)/2B n/2C n*(n-1)/2D (n+1)/2正确答案为B解释:在往长度为n的线性表中插⼊元素时,位置可以是1,2,3.......n+1,因此移动元素个数为[n+(n-1)+......+0]/ (n+1)=n/2收起3.对于⼀个头指针为H的带头结点的单链表,判定该表为空表的条件是()。
查看答案A H==NULLB H!=NULLC H→next ==HD H→next==NULL解释:A答案是不带头结点的单链表H为空的判定条件B答案是不带头结点的单链表H不为空的判定条件C答案是带头结点的循环单链表H为空的判定条件收起4.在⼀个顺序表中,若表的第⼀个元素的存储地址是210,每⼀个元素的长度为3,则第5个元素的存储地址是()。
查看答案A 219B 222C 225D 228正确答案为B解释:第5个元素之前有4个元素,因此地址为210+(4*3)=222收起5.栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下⾯序列()是可能的出栈序列。
查看答案A edcbafB bcefadC cbedafD adfebc正确答案为C解释:堆栈的特点是后进先出,⽽且最多⼊栈4个元素收起6.循环队列⽤数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
查看答案A rear-front+1B rear-front-1解释:若rear>=front 则元素个数为rear-front 若rear7.已知⼀棵⼆叉树的有35个叶⼦结点,则该⼆叉树⾄少有()个结点。
东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案2
![东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案2](https://img.taocdn.com/s3/m/0aad7a77e418964bcf84b9d528ea81c758f52ed8.png)
东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.ISAM文件和VSAM文件的区别之一是()。
A.前者是索引顺序文件,后者是索引非顺序文件B.前者只能进行顺序存取,后者只能进行随机存取C.前者建立静态索引结构,后者建立动态索引结构D.前者的存储介质是磁盘,后者的存储介质不是磁盘2.引入二叉线索树的目的是A.加快查找结点的前驱或后继的速度B.使二叉树的遍历结果唯一C.为了能方便的找到双亲D.为了能在二叉树中方便的进行插入与删除3.设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为()。
A.21B.23C.41D.624.某二叉树的先序序列和后序序列正好相反,则该二叉树的特点一定是()。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子5.下面关于线性表的叙述中,错误的是A.线性表采用顺序存储,必须占用一片连续的存储单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链接存储,便于插入和删除操作D.线性表采用链接存储,不必占用一片连续的存储单元6.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()。
A.1140B.1145C.1120D.11257.对有18个元素的有序表作二分查找,则查找A[3]的比较序列的下标为()。
A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,38.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是()。
A.逆拓扑有序B.拓扑有序C.无序的D.A和B9.下列排序算法中,时间复杂度不受数据初始状态影响,恒为0(nlog2n)的是A.直接选择排序B.快速排序C.堆排序D.冒泡排序10.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,,,,,,},G的拓扑序列是已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,,,,,,},G的拓扑序列是A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V4,V5,V2,V6,V7C.V1,V3,V2,V6,V4,V5,V7D.V1,V2,V5,V3,V4,V6,V711.若要在O(1)的时间复杂度上实现两个循环链表头尾相接,则应对两个循环链表各设置一个指针,分别指向()。
计算机专业数据结构综合测试2
![计算机专业数据结构综合测试2](https://img.taocdn.com/s3/m/fe1738deaa00b52acfc7caf7.png)
数据结构测试(长春理工大学精品课)综合测试二一、选择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)。
数据结构第五章测试(长春理工大学精品课)
![数据结构第五章测试(长春理工大学精品课)](https://img.taocdn.com/s3/m/ccde3a44804d2b160a4ec017.png)
数据结构测试(长春理工大学精品课)第5 章数组和广义表一、选择题1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
查看答案A. 13B. 33C. 18D. 40正确答案是B解释:[i,j]到k的对应关系是k=(i-1)*i/2+j (i>=j)或k=(j-1)*j/2+i (i<j),将i=8,j=5带入即得答案。
收起2. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。
查看答案A. 808B. 818C. 1010D. 1020正确答案是B解释:二维数组是m行n列,行下标和列下标都从1开始,loc[i,j]=首地址+((i-1)*n+(j-1))*每个数据元素的大小。
收起3. 数组A[0..4,-1..-3,5..7]中含有元素的个数()。
查看答案A. 55B. 45C. 36D. 16正确答案是B解释:第1维是5,第2维是3,第3维是3。
收起4. 已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。
查看答案A. head(tail(tail(L)))B. tail(head(head(tail(L))))C. head(tail(head(tail(L))))D. head(tail(head(tail(tail(L)))))正确答案是D解释:表头是广义表中第一个元素,表尾是除了表头外剩下元素组成的表。
收起5. 广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为()。
查看答案Head(Tail(Head(Tail(Tail(A)))))A. (g)B. (d)C. cD. d正确答案是D解释:tail(A)=(b,(c,d),(e,(f,g))),再取表尾=((c,d),(e,(f,g)))再取表头=(c,d),再取表尾=(d)再取表头=d。
长春财经学院《数据结构课程设计》2022-2023学年第二学期期末试卷
![长春财经学院《数据结构课程设计》2022-2023学年第二学期期末试卷](https://img.taocdn.com/s3/m/18ada734ae1ffc4ffe4733687e21af45b307fea4.png)
长春财经学院《数据结构课程设计》2022-2023学年第二学期期末试卷考试时间:120 分钟;考试课程:《数据结构课程设计》;满分:100分;姓名:——;班级:——;学号:——一、选择题(每题2分,共20分)1. 下列哪种数据结构最适合用来表示具有一对多关系的数据?A. 线性表B. 树C. 图D. 栈2. 在栈的操作中,元素只能从栈的哪一端被加入或删除?A. 任意一端B. 固定的一端C. 栈底D. 栈的中间位置3. 哈希表的平均查找时间复杂度主要取决于哪个因素?A. 哈希函数的设计B. 哈希表的大小C. 哈希冲突的处理方式D. 以上都是4. 在二叉搜索树(BST)中,如果插入一个已经存在的元素,则这个二叉搜索树的结构会如何变化?A. 不会发生变化B. 树的深度可能增加C. 树的深度一定增加D. 树的形状会随机变化5. 下列哪种排序算法在最好情况下的时间复杂度为O(n)?A. 快速排序B. 堆排序C. 冒泡排序D. 计数排序6. 链表的插入和删除操作相对于数组的优势在于?A. 无需移动元素B. 空间利用率高C. 访问速度快D. 稳定性好7. 图中的边可以表示为?A. 节点对B. 节点序列C. 节点到另一节点的有向箭头D. 节点之间的任意连接8. 在广度优先搜索(BFS)中,使用哪种数据结构来保存待访问的节点?A. 栈B. 队列C. 哈希表D. 二叉树9. 堆是一种特殊的完全二叉树,其特性是?A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 对于最大堆,上述A正确;对于最小堆,上述B正确D. 堆的左右子树高度差不超过110. 在AVL树中,任意节点的两个子树的高度差(平衡因子)的绝对值最大为?A. 0B. 1C. 2D. 任意值二、填空题(每题2分,共20分)1. 数据结构是研究数据的_________、_________、存储结构及运算的学科。
2. 线性表是_________的有限序列,它有两种存储结构:_________和链式存储结构。
数据结构第二章课后答案.
![数据结构第二章课后答案.](https://img.taocdn.com/s3/m/c937962626284b73f242336c1eb91a37f111322b.png)
数据结构第二章课后答案.在数据结构的学习中,第二章通常会涉及一些关键的概念和知识点。
让我们一起来详细探讨一下。
首先,我们要明确数据结构中一些基本的定义和分类。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
在第二章中,常见的比如线性表就是一个重要的结构。
线性表是一种最简单也是最常用的数据结构之一。
它具有有限个相同数据类型的元素组成的有序序列。
从存储结构上来看,线性表可以分为顺序存储和链式存储。
顺序存储的线性表,就像是在一个连续的存储空间中,依次存放着线性表的元素。
优点是可以随机访问,即通过下标就能快速找到对应的元素。
但缺点也很明显,插入和删除操作可能需要移动大量的元素,比较费时。
而链式存储的线性表,则是通过指针将各个元素链接起来。
每个节点包含数据域和指针域。
这种存储方式的优点是插入和删除操作比较方便,只需要修改指针即可。
但缺点是不能随机访问,需要从头节点开始依次遍历才能找到目标元素。
在实际应用中,选择哪种存储方式要根据具体的需求来决定。
如果经常需要进行随机访问,而插入和删除操作较少,那么顺序存储可能更合适;如果插入和删除操作频繁,而对随机访问的要求不高,链式存储则更具优势。
再来说说线性表的基本操作。
比如初始化线性表,就是为线性表分配存储空间,并将其初始化为空。
还有求线性表的长度,通过遍历节点来计算元素的个数。
插入操作分为在指定位置插入和在表尾插入。
在指定位置插入时,需要先将插入位置后面的元素依次向后移动,然后再将新元素插入。
删除操作也类似,需要先找到要删除的元素,然后将其后面的元素依次向前移动。
对于线性表的遍历,常见的有顺序遍历和逆序遍历。
顺序遍历就是从表头开始,依次访问每个元素;逆序遍历则是从表尾开始向前访问。
接下来,我们看一些具体的例子。
比如一个学生成绩管理系统,我们可以用线性表来存储学生的成绩信息。
如果需要经常添加或删除学生成绩,那么采用链式存储会更方便操作。
再比如一个图书馆的图书管理系统,用线性表来存储图书的信息。
东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案2
![东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案2](https://img.taocdn.com/s3/m/c5d4c4bcafaad1f34693daef5ef7ba0d4a736d08.png)
东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.在一个带权连通图G中,权值最小的边一定包含在G的A.深度优先生成森林中B.深度优先生成树中C.最小生成树中2.若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。
B.线性表C.队列D.二叉排序树3.4.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()。
A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法5.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为A.左子树的叶子结点B.左子树的分支结点C.右子树的叶子结点D.右子树的分支结点6.下列编码中属于前缀编码的是()。
A.{1,01,000,001}B.{1,01,011,010}C.{0,10,110,11}D.{0,1,00,11}7.8.下列程序段for(i=1;iA.O(n) B.O(1+n)C.O(1)D.O(0)9.在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是A.O(nlogn)B.O(n2)C.O(n)D.O(1)10.若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列()。
A.一定存在B.一定不存在C.不一定存在D.不确定11.在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为A.n-i+1B.n-iD.i12.已知一棵完全二叉树有64个叶子结点,则该树可能达到的最大深度为()。
A.7B.8C.9D.1013.14.在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为()。
A.4,4,3B.4,3,3C.3,4,4D.3,3,415.对有18个元素的有序表作二分查找,则查找A[3]的比较序列的下标为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构测试(长春理工大学精品课)
第2章线性表
一、选择题
1.下述( )是顺序存储结构的优点?查看答案
A.存储密度大 B.插入运算方便
C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
正确答案为A
解释:插入运算和删除运算对于顺序存储结构需要移动大量的数据元素,顺序存储结构对于非线性的逻辑结构表示比较复杂,顺序存储结构中只需要存储数据元素,不像链式结构除了存数据元素还要存储关系,因此顺序存储结构的存储密度比较大。
收起
2.下面关于线性表的叙述中,错误的是哪一个?( )查看答案
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
正确答案是B
解释:顺序存储不利于插入删除,需要移动近一半的数据元素。
收起
3.线性表是具有n个()的有限序列(n>0)。
查看答案
A.表元素 B.字符
C.数据元素 D.数据项
正确答案是C
解释:根据线性表的定义。
收起
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
查看答案
A.顺序表 B.双链表
C.带头结点的双循环链表 D.单循环链表
正确答案是A
解释:顺序存储结构做相应的操作时间复杂度分别为O(1),O(1),O(1)因此是最节省时间的。
收起
5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
查看答案
A.单链表 B.仅有头指针的单循环链表
C.双链表 D.仅有尾指针的单循环链表
正确答案是D
解释:在仅有尾指针的单循环链表做相应操作的时间复杂度为O(1),O(1)收起
6. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。
查看答案
A. O(0)
B. O(1)
C. O(n)
D. O(n2)
正确答案是C
解释:在顺序表的第i个位置插入一个元素平均需移动的元素的个数是[n+(n-1)+......+0]/(n+1)=n/2,因此算法时间复杂度为O(n)。
收起
7.非空的循环单链表head的尾结点p满足()。
查看答案
A.P->next==head B.P->next==NIL
C.p==NIL D.p==head
正确答案是A
解释:循环单链表的尾结点的后继结点应当是头结点。
收起
8.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
查看答案
A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;
正确答案是B
解释:p结点插入前的后继应成为s的后继,s应成为p的新后继,而且两个操作不能换位,否则p结点的后继链将丢失。
收起
9. 链表不具有的特点是()。
查看答案
A.插入、删除不需要移动元素B.可随机访问任一元素
C.不必事先估计存储空间D.所需空间与线性长度成正比
正确答案是B
解释:链式存储方式不能随机访问,只能采用顺序访问的方式。
收起
10.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()。
查看答案
A.(1),(2) B.(1)
C.(1),(2),(3) D.(2)
正确答案是B
解释:静态链表采用数组做为存储结构,是方便没有指针的编程语言使用,元素的后继地址记录的是元素所在的下标,因此和单链表一样只能采用顺序访问方式,插入删除操作只需修改相应下标不需移动元素。
收起
二、填空题
1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。
查看答案
正确答案是:顺序存储结构
解释:元素总数稳定,说明很少做插入删除操作,因此采用顺序存储最合适。
收起
2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是________。
查看答案
正确答案是:(n-1)/2
解释:长度为n的线性表,删除任一元素的概率为1/n,删除一个元素平均移动的元素的个数为[(n-1)+(n-2)+......+0]/n=(n-1)/2收起
3.对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为________,查看答案
正确答案是:O(1)
解释:在已知结点的后面插元素,只需修改后继元素的指针。
收起
4.对于一个具有n个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为________。
查看答案
正确答案是:O(n)
解释:查找值为x的结点,只能顺序查找,时间复杂度为O(n)收起。
5. 已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:________。
查看答案
正确答案是:p->next=p->next->next
解释:删除其后继只需让后继的后继成为其后继。
收起
6.在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是_______、_______、_______、________。
查看答案
正确答案是:f->next=p->next; f->prior=p; p->next->prior=f; p->next=f; 收起
7.带头结点的双循环链表L为空表的条件是:________。
查看答案
正确答案是:L->next==L && L->prior==L
解释:双循环链表为空,前驱和后继都应指向头结点。
收起
8. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共 ______个。
查看答案
正确答案是:4个
解释:修改的指针分别为前一个结点的后继,后一个结点的前驱,新结点的前驱和后继。
收起
9. 在双向链表结构中,若要求在p 指针所指的结点之前插入指针为s 所指的结点,则需执行下列语句:
S->next=p;s->prior= ________;p->prior=s;________=s;查看答案
正确答案是:p->prior s->prior->next
解释:插入后p的前驱成为s,s的前驱应是原来p的前驱。
收起
10. 在单链表L中,指针p所指结点有后继结点的条件是:查看答案
正确答案是:p->next!=null 收起
三、应用题
1.线性表的顺序存储结构具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。
线性表的链式存储结构是否一定都能够克服上述三个弱点,试讨论之。
查看答案
参考答案:链式存储结构一般说克服了顺序存储结构的三个弱点。
首先,插入、删除不需移动元素,只修改指针,时间复杂度为O(1);其次,不需要预先分配空间,可根据需要动态申请空间;其三,表容量只受可用内存空间的限制。
其缺点是因为指针增加了空间开销,当空间不允许时,就不能克服顺序存储的缺点。
收起
2. 下面是一算法的核心部分,试说明该算法的功能.查看答案
pre=L->next;
{L是一单链表,结点有数据域 data和指针域 next}
IF (pre!=null)
WHILE (pre->next!=null)
{ p=pre->next;
IF (p->data>=pre->data)
pre=p
ELSE
return(false)
}
return(true);
参考答案:该算法的功能是判断链表L是否是非递减有序,若是则返回“true”;否则返回“false”。
pre指向当前结点,p指向pre的后继。
收起。