4《数据结构导论》复习题
全国自学考试数据结构导论试题与答案解析[4套]
![全国自学考试数据结构导论试题与答案解析[4套]](https://img.taocdn.com/s3/m/f1daa8dd680203d8ce2f2494.png)
全国2011年1月自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( )A.O(1)B.O(n)C.O(log2n)D.O(n)2.树形结构中,度为0的结点称为( )A.树根B.叶子C.路径D.二叉树3.已知有向图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,V7D.V1,V2,V5,V3,V4,V6,V74.有关图中路径的定义,表述正确的是( )A.路径是顶点和相邻顶点偶对构成的边所形成的序列B.路径是不同顶点所形成的序列C.路径是不同边所形成的序列D.路径是不同顶点和不同边所形成的集合5.串的长度是指( )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含非空格字符的个数6.组成数据的基本单位是( )A.数据项B.数据类型C.数据元素D.数据变量7.程序段i=n;x=0;do{x=x+5*i;i--;}while (i>0);的时间复杂度为( )A.O(1)B.O(n)C.O(n2)D.O(n3)8.与串的逻辑结构不同的...数据结构是( )A.线性表B.栈C.队列D.树9.二叉树的第i(i≥1)层上所拥有的结点个数最多为( )A.2iB.2iC.2i-1D.2i-110.设单链表中指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( ) A.p->next=p->next->next B.p=p->nextC.p=p->next->nextD.p->next=p11.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )A.堆排序B.冒泡排序C.直接插入排序D.快速排序12.设字符串S1=″ABCDEFG″,S2=″PQRST″,则运算S=CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))后S的结果为( )A.″BCQR″B.″BCDEF″C.″BCDEFG″D.″BCDEFEF″13.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并且A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则使其平衡的调整方法为( )A.LL型B.LR型C.RL型D.RR型14.如果结点A有3个兄弟结点,而且B为A的双亲,则B的度为( )A.1B.3C.4D.515.数据表A中每个元素距其最终位置较近,则最省时间的排序算法是( )A.堆排序B.插入排序C.直接选择排序D.快速排序二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
数据结构导论练习题

一、选择题1.在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行。
A.q一)next=p一)next;p一)next=q;B.p一)next=q一)next;q=p;C.q一)next=p一)next;p一)next=q;D.p一)next=q一)next; q一)next=p;2. 在一个顺序队列中,队首指针指向队首元素的位置:A.前一个 B.后一个 C.当前3. 下列数据组织形式中,()的结点按逻辑关系依次排列形成一个“锁链”。
A.集合B.树形结构C.线性结构D.图状结构4. 数据结构可以形式化地定义为(S,△),其中S指某种逻辑结构,△是指()A.S上的算法B.S的存储结构C.在S上的一个基本运算集D.在S上的所有数据元素5. 下列说法正确的是()A.线性表的逻辑顺序与存储顺序总是一致的B.线性表的链式存储结构中,要求内存中可用的存储单元可以是连续的,也可以不连续C.线性表的线性存储结构优于链式存储结构D.每种数据结构都具有插入、删除和查找三种基本运算6. 设非空单链表的数据域为data,指针域为next,指针p指向单链表中第i个结点,s指向已生成的新结点,现将s结点插入到单链表中,使其成为第i个结点,下列算法段能正确完成上述要求的是()A.s->next=p->next;p->next=s;B.p->next=s;s->next=p->next;C.s->next=p->next;p->next=s;交换p->data和s->data;D.p=s;s->next=p;7. 将一棵有50个结点的完全二叉树按层编号,则对编号为25的结点x,该结点()A.无左、右孩子B.有左孩子,无右孩子C.有右孩子,无左孩子D.有左、右孩子8. 采用线性探测法解决冲突问题,所产生的一系列后继散列地址()A.必须大于等于原散列地址B.必须小于等于原散列地址C.可以大于或小于但不能等于原散列地址D.地址大小没有具体限制9. 用快速排序方法对包含有n个关键字的序列进行排序,最坏情况下执行的时间复杂度为()A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)10. 下列数据结构中,( )不都是线性结构。
数据结构导论复习卷-数据结构导论试题

数据结构导论复习卷-数据结构导论试题数据结构导论复习卷一、选择题1. 数据结构导论是一门研究什么的学科?a) 计算机程序b) 数据储存和处理的原则c) 程序设计语言d) 硬件设计2. 数据结构中,什么是栈?a) 先进先出的数据结构b) 后进先出的数据结构c) 随机访问的数据结构d) 无序排列的数据结构3. 数据结构中,什么是队列?a) 先进先出的数据结构b) 后进先出的数据结构c) 随机访问的数据结构4. 在数据结构中,什么是链表?a) 数据元素按一定顺序排列的线性结构b) 具有相同类型的数据元素集合c) 一个数据元素和指向下一个数据元素的引用d) 具有先进先出的特性5. 数据结构中,什么是树?a) 一个数据元素和指向下一个数据元素的引用b) 具有相同类型的数据元素集合c) 数据元素按一定顺序排列的线性结构d) 非线性的数据结构,由节点和边组成6. 在数据结构中,什么是图?a) 非线性的数据结构,由节点和边组成b) 具有相同类型的数据元素集合c) 数据元素按一定顺序排列的线性结构d) 一个数据元素和指向下一个数据元素的引用7. 在数据结构中,什么是哈希表?b) 一个数据元素和指向下一个数据元素的引用c) 一种将关键字映射到哈希表中位置的数据结构d) 数据元素按一定顺序排列的线性结构8. 在数据结构中,什么是堆?a) 一种无序的数据结构b) 一个数据元素和指向下一个数据元素的引用c) 具有相同类型的数据元素集合d) 一种被完全二叉树组织且满足堆性质的数据结构二、填空题1. 在数据结构中,栈的插入操作叫作________,删除操作叫作________。
2. 数据结构中,队列的插入操作叫作________,删除操作叫作________。
3. ________树是每个节点最多有两个子节点的树。
4. 在二叉查找树中,对于任意节点N,其左子树中的每个元素都大于________,其右子树中的每个元素都小于________。
02142《数据结构导论》复习题.

数据结构导论模拟试题一、考试题型及分值分布:1、单项选择题(本大题共15小题,每小题2分,共30分)2、填空题(本大题共13小题,每小题2分,共26分)3、应用题(本大题共5小题,每小题6分,共30分)4、算法设计题(本大题共2小题,每小题7分,共14分)二、单项选择题和填空题样题参考(一)单项选择题1. 在二维数组中,每个数组元素同时处于()个向量中。
A. 0B. 1C. 2D. n2. 已知单链表A长度为m,单链表B长度为n,它们分别由表头指针所指向,若将B 整体连接到A的末尾,其时间复杂度应为()。
A. O(1)B. O(m)C. O(n)D. O(m+n)3. 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL4. 若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。
A. 3,2,1B. 2,1,3C. 3,1,2D. 1,3,25. 图的广度优先搜索类似于树的()遍历。
A. 先根B. 中根C. 后根D. 层次6. 下面程序段的时间复杂度为( )。
for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A. O(m2)B. O(n2)C. O(m*n)D. O(m+n)7. 设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
A. 求子串B. 模式匹配C. 串替换D. 串连接8 利用双向链表作线性表的存储结构的优点是()。
A. 便于单向进行插入和删除的操作B. 便于双向进行插入和删除的操作C. 节省空间D. 便于销毁结构释放空间9. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行( )操作。
自考02142《数据结构导论》真题(2022.4)_2

自考02142《数据结构导论》真题及(2022.4)自考02142《数据结构导论》真题及答案解析(2022.4)1.[单选题] 下列几种时间复杂度中,阶数最小的是()A.O(log2n)B.O(n)C.O(n2)D.O(1)2.[单选题] 栈和队列的共同特点是()A.都是线性表B.先进先出C.后进先出D.只能插入操作3.[单选题] 假设一个10x 10的上三角矩阵A按照列优先顺序压缩在一维数组B中,则B数组的大小应为()A.50B.55C.100D.1014.[单选题] 一个栈的入栈序列是a,b,c,d,e,则栈可能的输出序列是()A.edcabC.abcdeD.dceab5.[单选题] 假定一个顺序存储的循环队列的队头和队尾指针分别为f 和r,则判断队空的条件为()A.f==NULLB.f==rC.r+1==fD.f+1== r6.[单选题] 如果结点A有2个兄弟结点,结点B为A的双亲,则结点B的度为()A.2B.3C.4D.57.[单选题] 二叉树的中序遍历中,结点P排在结点Q之前的条件是在二叉树中()A.P在Q的左边B.P在Q的右边C.P是Q的祖先D.P是Q的子孙8.[单选题] 二又树的第k层的结点数最多为()B.2k+1C.2k-1D.2k+19.[单选题] A是7X4的二维数组,按行优先方式顺序存储元素A[0][0]的存储地址为1000,若每个元素占2个字节,则元素A[3][3]的存储地址为()A.1026B.1028C.1030D.103210.[单选题] 在表长为n的顺序表上做删除运算,其平均时间复杂度为()A.O(1)B.O(n)C.O(nlog2n)D.O(n/2)11.[单选题] 在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()A.eB.2eC.n2-e12.[单选题] 设顺序表的长度为n,则插入算法的平均移动次数约为()A.nB.n/2C.n-1D.(n-1)/213.[单选题] 设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则用二分查找算法查找关键字90需要比较的关键字个数为()A.1B.2C.3D.414.[单选题] 以下排序方法中,稳定的是()A.直接插入排序和快速排序B.快速排序和冒泡排序C.直接选择排序和冒泡排序D.冒泡排序和直接插入排序15.[单选题] 对n个记录的文件进行快速排序,所需要的辅助存储空间的空间复杂度为()A.O(1)B.O(n)C.O(1og2n)D.O(n2)16.[填空题] 1976年瑞士计算机科学家Niklaus Wirth 曾提出一个著名公式:程序=数据结构+____。
自考数据结构导论复习资料

数据结构导论复习第一章概论1.数据:凡能被计算机存储、加工处理的对象。
2.数据元素:是数据的基本单位,在程序中作为一个整体而加以考虑和处理3.数据项:又叫字段或域,它是数据的不可分割的最小标识单位。
4.逻辑结构需要注意的几点:①逻辑结构与数据元素本身的内容无关②逻辑结构与数据元素相对位置无关③逻辑结构与所有结点的个数无关5.数据元素间逻辑关系是指数据元素之间的关联方式或称“领接关系”。
6.四类基本逻辑结构(集合、线性结构、树形结构和图形结构)的不同特点?答:集合中任何两个结点之间都没有逻辑关系,组织形式松散;线性结构中结点按逻辑关系依次排列形成一条“锁链”;树形结构具有分支、层次特性,其形态有点像自然界中的树;图状结构最复杂,其中的各个结点按逻辑关系互相缠绕,任何两个结点都可以领接。
7.运算是在逻辑结构层次上对处理功能的抽象8.基本运算的含义?答:假如Γ是S上的一些运算的集合,∆是Γ的一个子集,使得Γ中每一运算都可以“归约”为∆中的一个或多个运算,而∆中任一运算不可归约为别的运算,则称∆中运算为基本运算9.数据结构是指由一个逻辑结构S和S上的一个基本运算集∆构成的整体(S ,∆)。
10.数据结构涉及数据表示和数据处理两个方面11.存储结构的含义和四种基本存储方式的基本思想?答:存储结构是指按照逻辑结构的要求建立的数据的机内表示称为存储结构。
一个存储结构应包含三个主要的部分:存储结点、机内表示和附加设施。
存储结构包括四种存储方式,顺序存储方式、链式存储方式、索引存储方式和散列存储方式。
12.运算实现与运算的联系与区别?答:运算指的是数据在逻辑结构S上的某种操作,运算只描述处理功能,不包括处理步骤和方法;而运算实现是指一个完成该运算功能的程序,运算实现的核心是处理步骤的规定,即算法设计。
13.算法的概念和分类?答:算法是指规定了求解给定类型问题所需的所有“处理步骤”及其执行顺序,使得给定类型的任何问题能在有限时间内被机械地求解。
全国自学考试数据结构导论试题及答案4套

全国自学考试数据结构导论试题及答案4套第一套试题一、选择题(每题4分,共40分)1. 下列哪个数据结构是一种非线性结构?A. 数组B. 栈C. 队列D. 树2. 下列哪种算法不适用于解决排序问题?A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序3. 在数据结构中,堆的底层实现通常采用哪种数据结构?A. 数组B. 栈C. 链表D. 队列4. 下列哪个选项是描述图结构的准确说法?A. 图结构是一种线性结构B. 图结构由节点和指向节点的边构成C. 图结构不能存储数据D. 图结构不支持插入和删除操作5. 下列哪个排序算法具有最坏时间复杂度为O(nlogn)?A. 冒泡排序B. 插入排序C. 选择排序D. 希尔排序二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
2. 图的两个顶点之间的路径长度是指连接这两个顶点所需的____数。
3. 链表是一种____结构。
4. 快速排序算法的核心思想是____。
5. 栈和队列都属于线性结构,其主要区别在于____操作的限制。
三、简答题(每题10分,共30分)1. 请简要描述栈的特点以及栈的应用场景。
2. 请简要介绍图的基本概念,并说明图的应用领域。
3. 请解释递归算法的原理,并给出一个使用递归算法解决问题的例子。
四、编程题(共30分)请使用任意编程语言实现一个简单的栈数据结构,并编写测试代码进行验证。
第二套试题一、选择题(每题4分,共40分)1. 在二叉搜索树中,中序遍历的结果是____。
A. 升序排列B. 降序排列C. 随机排序D. 不确定的排序2. 在哈希表结构中,解决冲突问题的常用方法是____。
A. 线性探测B. 链地址法C. 开放地址法D. 扩容法3. AVL树是一种____。
A. 二叉搜索树B. 哈希表C. B树D. 红黑树4. 以下哪个算法不是用于解决查找问题?A. 二分查找B. 深度优先搜索C. 广度优先搜索D. 哈希查找5. 以下哪个数据结构不支持随机访问元素?A. 数组B. 栈C. 链表D. 哈希表二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
数据结构导论试题和部分答案

全国2年1月数据结构导论试题课程代码:一、单项选择题(本大题共5小题,每小题2分,共30分)1.结点按逻辑关系依次排列形成一条“锁链”的数据结构是( )A.集合 B.线性结构 C.树形结构 D.图状结构2.下面算法程序段的时间复杂度为( )for ( int i=0; i<m; i++)for ( int j=0; j<n; j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(mn)D. O(m+n)3.线性结构是()A.具有n(n≥0)个表元素的有穷序列 B.具有n(n≥0)个字符的有穷序列C.具有n(n≥0)个结点的有穷序列D.具有n(n≥0)个数据项的有穷序列4.单链表中删除由某个指针变量指向的结点的直接后继,该算法的时间复杂度是()A. O(1)n ) D. O(n)5.关于串的叙述,正确的是( ) A.串是含有一个或多个字符的有穷序列 B.空串是只含有空格字符的串C.空串是含有零个字符或含有空格字符的串D.串是含有零个或多个字符的有穷序列6.栈的输入序列依次为,2,3,4,则不可能的出栈序列是()A.1243 B. 1432 C. 2134 D.43127.队列是( )A. 先进先出的线性表 B. 先进后出的线性表 C. 后进先出的线性表 D.随意进出的线性表8.10阶上三角矩阵压缩存储时需存储的元素个数为( ) A.11 B.56 C.100 D.1019.深度为k(k≥ )的二叉树,结点数最多有( )A.2k个 B.(2k -1)个 C.2k-1个 D.(2k+1)个10.具有12个结点的二叉树的二叉链表存储结构中,空链域L L的个数为( )A. 11 B.13 C. 23 D.2511.具有n个顶点的无向图的边数最多为( )A.n+1 B.n(n+1) C.n(n-1)/2 D.2n(n+1)12.三个顶点1,v2,v3的图的邻接矩阵为010001010⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,该图中顶点v3的入度为( )A. 0 B. 1 C. 2D. 313.顺序存储的表格中有0000个元素,已按关键字值升序排列,假定对每个元素进行查找的概率是相同的,且每个元素的关键字值不相同。
数据结构与导论期末复习资料

《数据结构》科(开卷.只准带教材)(模拟样题)一、填空题(每小题2分)1、数据结构的逻辑结构和存储结构分为哪几种?逻辑结构:集合结构、线性结构、树型结构,图型结构;存储结构:顺序存储、链接存储、索引存储、散列存储。
2、在单链表中,若要删除指针p所指结点的后继结点,则需执行哪几条语句?q=p->next;p->next=q->next;free(q);3、判断循环队列是否为空和满的条件分别是什么?队空:Q->front= =Q->rear;队满:(Q->rear+1)%Q->MaxSize==Q->front4、判断顺序栈是否为空和满的条件分别是什么?栈空:S->top==-1;栈满:S->top== MaxSize-1;5、若经常需要对线性表进行插入和删除运算,则最好采用什么存储结构?;若经常需要对线性表进行查找运算,则最好采用_什么存储结构?分别是:链接存储和顺序存储6、在线性结构、树型结构、和图型结构中,前驱和后继结点这间分别存在着什么联系?分别为:一对一、一对多、多对多的联系7、队列的插入操作在哪里进行?删除操作在哪里进行?队列插入在队尾进行;删除在队首8、单链表中指针P所指结点为尾结点的条件是什么?p->next==NULL9、栈的插入操作在哪里进行?,删除操作在哪里进行?栈的插入和删除都在栈顶进行10、深度为n(根的层次号为1)的完全二叉树至多有个结点?2n n -111、假定一棵二叉树的广义表表示为a(b(c,d),e(,f(,g))),它含有双分支结点,单分支结点,叶子结点分别有几个?2、2、312、大根堆和小根堆的堆顶分别有什么特点?大根堆堆顶具有最大值、小根堆堆顶具有最小值13、一棵二叉排序树中若存在n个结点,则平均查找次数为多少?log2n14、一个具有n个顶点的连通有向图至多有多少条边?n(n-1)15、对于一个具有n个顶点和e条边的连通图,其生成树的顶点数和边数分别为多少?分别为:n个顶点e-1条边16、在索引表中每个索引项包含哪几项?至少包含哪两项?每个索引项包括:索引值、子表开始位置、子表长度;至少包括:索引值、子表开始位置17、在对有100个数据的有序表作对半查找时,有多少个结点的查找次数是5?16个结点18、在线性表的散列存储中,处理冲突有几种种方法?分别是什么?两种方法:分别是开放地址法和链地址法19、在一个稀疏矩阵中,每个非零元素所对应的三元组元素包括哪三项?行号、列号以及元素值二、选择题(每小题4分)1、若让五个元素1,2,3,4,5依次进栈,则出栈次序不可能出现__B、C种情况。
数据结构导论自考试题及答案

数据结构导论自考试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,队列是一种()。
A. 集合B. 线性表C. 树D. 图答案:B2. 对于长度为n的线性表,在最坏情况下,查找一个元素需要比较的次数是()。
A. nB. n/2C. 1D. 0答案:A3. 在二叉树的遍历中,先序遍历的顺序是()。
A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过()来解决。
A. 链接法B. 排序C. 折半查找D. 二分查找答案:A5. 一个具有n个顶点的无向图至少有多少条边?A. nB. n-1C. n(n-1)/2D. 0答案:D二、填空题(每题3分,共15分)6. 在顺序存储的堆栈中,判断栈为空的条件是______。
答案:栈顶指针等于-1或者指向第一个元素的前一个位置7. 快速排序的平均时间复杂度是______。
答案:O(n log n)8. 一个长度为n的链表,删除已知第i个位置元素的时间复杂度是______。
答案:O(n)9. 一个平衡二叉树的查找、插入和删除操作的时间复杂度是______。
答案:O(log n)10. 用邻接表表示图时,对于有n个顶点的无向图,邻接表中所有链表的节点数之和至少是______。
答案:n三、简答题(每题10分,共20分)11. 什么是递归?请举例说明递归算法的工作原理。
答案:递归是一种在程序中调用自身的方法,它允许函数解决问题的更小版本,直到达到一个简单的基本情况。
例如,计算n的阶乘可以使用递归算法:```function factorial(n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}```12. 请简述图的遍历算法有哪些,并说明它们的特点。
答案:图的遍历算法主要有深度优先搜索(DFS)和广度优先搜索(BFS)。
DFS使用栈(可以是显式的栈或者隐式的递归调用栈)来逐层深入地访问图中的顶点,直到找到一个未被访问的邻接顶点。
自考02142《数据结构导论》真题(2022.10)

自考02142《数据结构导论》真题及(2022.10)自考02142《数据结构导论》真题及答案解析(2022.10)1.[单选题] 设输入序列为ABC,输出为ABC,则经过的栈操作为()。
A.push,pop,push,push,pop,popB.push,push,pop,pop,push,popC.push,push,push,pop,pop,popD.push,pop,push,pop,push,pop2.[单选题] 设有一循环队列CQ,队列的长度为maxsize,则该循环队列满的条件为()。
A.(CQ.rear+1)%maxsize==CQ.frontB.CQ.rear==CQ.frontC.(CQ.rear+1)%maxsize==CQ.rearD.CQ.rear==NULL3.[单选题] 树的相关术语中,兄弟指()。
A.祖先相同的结点B.根相同的结点C.度数相同的结点D.父结点相同的结点4.[单选题] 执行进栈操作,在元素X进栈前需要进行的操作是()。
A.判断栈是否满,若栈未满,top值加1B.判断栈是否空,若栈未空,top值加1C.判断栈是否满,若栈未满,top值减1D.判断栈是否空,若栈未空,top值减15.[单选题] 森林有两种遍历方法,分别是()。
A.先序遍历森林和中序遍历森林B.先序遍历森林和后序遍历森林C.中序遍历森林和层次遍历森林D.后序遍历森林和层次遍历森林6.[单选题] 有向图中某顶点v的入度为2,出度为3,则该顶点的度为()。
A.3B.4C.5D.67.[单选题] 无向图的邻接矩阵为()。
A.对角矩阵B.对称矩阵C.稀疏矩阵D.一般矩阵8.[单选题] 对升序表进行二分查找,用给定值key与处在中间位置的数据元素T.elem[mid]的键值T.elem[mid].key进行比较,当key 32.[问答题] 给定数据序列{46,25,78,62,12,80},试按元素在序列中的次序将它们依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树。
数据结构导论

填空题1.运算的实现是指完成该运算功能的(程序)。
运算实现的核心是处理步骤的规定,即(算法设计)。
2.从某种意义上说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据可由若干个(据元素)成,数据元素可由若干个(数据项)构成。
3.在一个长度为n的顺序表中删除第I个元素(1<=I<=n)时,需平均向前移动((n-1)/2)个元素。
4. 对计算机专业人员来说必须完成的两项基本任务是:数据表示和数据处理。
5. 数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式。
6. 存储结构是逻辑结构的存储实现,即数据按逻辑结构规定的形式在计算机存储器中存放的方法。
7. 凡能被计算机存储、加工的对象统称为数据。
8. 数据元素是数据的基本单位。
9. 在有些场合下,数据项又称为字段或域,它是数据的不可分割的最小标识单位。
10. 从某种意义上说,数据、数据元素、和数据项实际反映了数据组织的三个层次,数据可由若干个数据元素构成,而数据元素又可由若按个数据项组成。
11. 在任何问题中,数据元素都不是孤立的,他们之间存在某种关系,通常称这种关系为结构。
12. 所谓逻辑关系是指数据元素之间的关联方式或称“邻接关系”。
数据元素之间逻辑关系的整体称为逻辑结构。
数据的逻辑结构就是数据的组织形式。
13. 在数据结构中,数据的逻辑结构分为集合、线性结构、树形结构、图状结构等四类。
14. 一般的,运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。
15. 根据操作的效果,可将运算分成以下两种基本类型:加工型运算和引用型运算。
16. 存储实现的基本目标是建立数据的机内表示。
17. 存储结构的主要部分是数据元素之间关联方式的表示。
通常,存储结点之间可以有四种关联方式,称为四种基本存储方式:顺序存储方式、链式存储方式、索引存储方式和散列存储方式。
18. 算法分为:运行终止的程序可执行部分、伪语言算法、非形式算法。
数据结构导论自考全书重点综合复习

6.线性表基本运算上的应用和算法设计
7.顺序表和链表的比较 8.串的概念和基本操作
12
1,线性表的基本概念 2,线性表的基本运算 起始结点、终端结点、前驱、后继、直接前驱、 直接后继、线性表长度、空表 初始化、求表长、读表元、定位、插入、删除
13
经典题例
3. 在单链表中,存储每个结点需要有两个域,一 个是数据域,另一个是指针域,指针域指向该结 点的() A.直接前趋 B.直接后继 C.开始结点 D.终端结点 18.线性表中所含结点的个数称为______。
35
经典题例
7.关于串的叙述中,正确的是( ) A.空串是只含有零个字符的串 B.空串是只含有空格字符的串 C.空串是含有零个字符或含有空格字符的串 D.串是含有一个或多个字符的有穷序列 19.串是一种特殊的线性表,串常见的存储结构有顺 序存储和________________两种方式。
36
第三章栈、队列、数组
17.通常从哪4个方面评价算法(包括程序)的质量。
6
经典题例
16.下列程序段的时间复杂度为____________。 for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) s=为________。 i=0;s=0; while(i<n){ i++;s=s+i;}
33
8,串
串的概念、空串、串长度、串相等、子串、主串
串操作: 赋值、判等、求长度、连接、求子串、 插入、删除、替换、定位
串存储: 顺序串:顺序串的紧缩格式、非紧缩格式 链串 :
34
经典题例
14.关于串的的叙述,不正确的是( ) A.串是字符的有限序列 B.空串是由空格构成的串 C.替换是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 24.两个串是相等的,当且仅当两个串的长度相等且 ________的字符都相同
自考02142《数据结构导论》真题及(2022.10)

自考02142《数据结构导论》真题及(2022.10)自考02142《数据结构导论》真题解析(2022.10)1.[单选题] 线性表若采用链表存储结构,内存中可用存储单位的地址A.必须是连续的B.有一部分必须是连续的C.一定是不连续的D.连续不连续都可以2.[单选题] 设有一个二维数组a[m][n],假设a[0][0]存放位置为644,a[2][2]存放位置为676,每个元素占一个存储空间,则a[3][3]存放位置为A.678B.688C.692D.6963.[单选题] 先序遍历与中序遍历结果相同的二叉树A.根结点无左孩子B.根结点无右孩子C.所有结点只有左子树D.所有结点只有右子树4.[单选题] 有n个叶结点的哈夫曼树的结点总数为A.2n-1B.2nC.2n+1D.2n25.[单选题] 设一棵完全二叉树中有65个结点,则该完全二叉树的深度为A.5B.6C.7D.86.[单选题] 设指针变量front表示链队列的队头指针,指针变量rear 表示链队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为A.front-next= s;front=s;B.s-next= rear;rear=s;C.rear-next=s;rear=s;D.s-next= front;front=s;7.[单选题] 一个栈的输入序列为1 2 3 4,则下列序列中可能是栈的输出序列的是A.2 3 1 4B.4 1 2 3C.3 1 2 4D.3 4 1 28.[单选题] 具有先进先出特征的数据结构是A.堆栈B.队列C.最小堆D.完全二叉树9.[单选题] 不属于数据组织三个层次的是A.数据B.数据元素C.数据类型D.数据项10.[单选题] 程序段s=i=0;do {i=i+1;s=s+i;}while(i= n)的时间复杂度为A.O(n)B.O(nlog2n)C.O(n2)D.O(1)11.[单选题] 对题13图中的树进行遍历后可以得到序列ABCD的遍历方式是A.先序遍历B.中序遍历C.后序遍历D.层次遍历12.[单选题] 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若散列函数为H(K)=K%9,则散列地址为1的元素个数是A.1B.2C.3D.413.[单选题] 一个具有n个顶点的无向完全图的边数为A.0B.n(n-1)/2C.n(n-1)D.n(n+1)14.[单选题] 就平均时间性能而言,若需以O(nlog2n)的时间复杂度完成对数组的排序,则可选择的排序方法是A.快速排序B.冒泡排序C.直接选择排序D.直接插入排序15.[单选题] 设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过比较的次数是A.1B.2C.3D.416.[案例题] 根据图的定义,图中顶点的最少数目是______。
复习总结资料(数据结构导论)

《数据结构导论》复习资料课程代码:02142一、单项选择题1.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是A.不确定 B.n-i+1 C.i D.n-i2.具有N个结点的二叉树的二叉链表结构中,指针域为NULL的数目应为A. N B.2N C.N+1 D.2N+13.栈S最多能容纳4个元素。
现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?A.(E、D、C、B、A、F) B.(B、C、E、F、A、D)C.(C、B、E、D、A、F) D.(A、D、F、E、B、C)4.已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?A.s->next = p; p-> next = s; B.s-> next = p->next; p-> next = s;C.s-> next = p-> next; p = s; D. p-> next = s; s-> next = p;5.设带头结点的单循环链表的头指针为head,则判断该链表是否为空的条件是A.head->next==head B.head->next==NULLC.head!=NULL D.head==NULL6.一个队列的输入序列是A,B,C,D,则该队列的输出序列是A.A,B,C,D B.B,C,D,AC.D,C,B,A D.C,D,B,A7.以行序为主序的二维数组a[3][5]中,第一个元素a[0][0]的存储地址是100,每个元素占2个存储单元,则a[1][2]的存储地址是A.100 B.108 C.114 D.1168.二叉树的中序遍历序列中,结点P排在结点Q之前的条件是A.在二叉树中P在Q的左边B.在二叉树中P在Q的右边C.在二叉树中P是Q的祖先D.在二叉树中P是Q的子孙9.有10个顶点的无向完全图的边数是A.11 B.45 C.55 D.9010.在带权有向图中求两个结点之间的最短路径可以采用的算法是A.迪杰斯特拉(Dijkstra)算法B.克鲁斯卡尔(Kruskal)算法C.普里姆(Prim)算法D.深度优先搜索(DFS)算法11.利用双向链表作线性表的存储结构的优点是A.便于单向进行插入和删除的操作B.便于双向进行插入和删除的操作C.节省空间D.便于销毁结构释放空间12.在闭散列表中,散列到同一个地址而引起的“堆积”问题是引起的。
[自学考试密押题库与答案解析]数据结构导论自考题模拟4
![[自学考试密押题库与答案解析]数据结构导论自考题模拟4](https://img.taocdn.com/s3/m/13972b9b01f69e314232947e.png)
中序遍历:BFEDAC
后序遍历:FEDBCA
问题:2. 有一份电文中共使用五个字符:a,b,c,d,e,它们的出现频率依次为8,14,10,4,18,请构造相应的哈夫曼树。
答案:所求哈夫曼树如图所示:
问题:3. 若某无向图G的邻接表如图所示,试给出以顶点v1为出发点,按广度优先搜索所产生的一棵生成树。
A.1175
B.1180
C.1205
D.1210
答案:A
问题:7. 若二叉树(如图所示)采用二叉链表存储结构,要交换其所有分支结点左右子树的位置,最合适的遍历方法是
A.先序遍历
B.中序遍历
C.后序遍历
D.按层次遍历
答案:A[解析] 本题主要考查的知识点是二叉链表存储结构。
[要点透析] 交换二叉树的左右子树的过程可用递归方法完成,第1步将根结点的左右子树交换,第2步在左子树中递归调用交换函数,第3步在右子树中递归调用交换函数。因此,采用先序遍历的方法最合适。
答案:所求生成树如图所示:
问题:4. 从一个空的二叉排序树开始,依次插入关键字25、13、15、34、7、20、37,试分别画出每次插入关键字后的二叉排序树。
答案:所求二叉排序树如图所示:
问题:5. 已知一组键值序列(32,44,38,65,53,42,29,57),试采用堆排序法对该组序列作升序排序,给出建立的初始堆以及第一次输出堆元素后筛选调整的堆。
答案:n(n-1)
问题:11. 已知有向图G=(V,E),其中:
V={v1,v2,v3,v4,v5,v6,v7}
E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v7>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>}
《数据结构》复习题及参考答案

《数据结构》复习题及参考答案数据结构复习题及参考答案1. 什么是数据结构?数据结构是一种组织和存储数据的方式,它涉及到数据的组织方式、存储方式、访问方式以及对数据进行操作的算法等。
数据结构的选择对于解决不同类型的问题非常重要。
2. 数据结构有哪些常见的分类?数据结构可以分为以下几类:(1) 线性结构:线性结构是一种有序排列的数据结构,其中数据元素之间存在着一对一的关系。
常见的线性结构有数组、链表、栈和队列等。
(2) 非线性结构:非线性结构是一种数据元素之间存在多对多关系的结构,常见的非线性结构有树和图等。
(3) 逻辑结构:逻辑结构是指数据元素之间的逻辑关系,主要包括集合结构、线性结构、树形结构和图形结构等。
(4) 物理结构:物理结构是指数据的逻辑结构在计算机存储中的表示方式,主要包括顺序存储结构和链式存储结构等。
3. 什么是算法?算法是解决特定问题的一系列步骤或操作的有限序列。
一个算法通常包括输入、输出、基本操作、控制结构和定义算法执行的约定等。
4. 数据结构和算法之间的关系是什么?数据结构是算法的基础,而算法又依赖于数据结构。
只有选择合适的数据结构,才能实现高效的算法。
同时,算法的设计也会对数据结构的选择产生影响。
5. 请解释什么是时间复杂度和空间复杂度?时间复杂度是衡量算法执行时间消耗的度量,表示算法的运行时间与问题规模之间的关系。
通常用大O符号来表示时间复杂度,如O(n)、O(nlogn)等。
空间复杂度是衡量算法执行所需存储空间的度量,表示算法所需的额外空间与问题规模之间的关系。
同样也使用大O符号来表示,如O(1)、O(n)等。
6. 请简要描述以下数据结构的特点及应用场景:(1) 数组:数组是一种连续存储数据元素的线性结构,具有随机访问性能。
适用于知道元素位置的查找和修改操作。
(2) 链表:链表是一种通过指针连接的数据结构,具有插入、删除元素方便的特点。
适用于频繁插入、删除操作以及不知道具体位置的查找操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构导论模拟试题一、考试题型及分值分布:1、单项选择题(本大题共15小题,每小题2分,共30分)2、填空题(本大题共13小题,每小题2分,共26分)3、应用题(本大题共5小题,每小题6分,共30分)4、算法设计题(本大题共2小题,每小题7分,共14分)二、单项选择题和填空题样题参考(一)单项选择题1. 在二维数组中,每个数组元素同时处于()个向量中.A. 0B. 1C. 2D. n2. 已知单链表A长度为m,单链表B长度为n,它们分别由表头指针所指向,若将B 整体连接到A的末尾,其时间复杂度应为().A. O(1)B. O(m)C. O(n)D. O(m+n)3. 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( ).A. front == rearB. front != NULLC. rear != NULLD. front == NULL4. 若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况.A. 3,2,1B. 2,1,3C. 3,1,2D. 1,3,25. 图的广度优先搜索类似于树的()遍历.A. 先根B. 中根C. 后根D. 层次6. 下面程序段的时间复杂度为( ).for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A. O(m2)B. O(n2)C. O(m*n)D. O(m+n)7. 设有两个串t和p,求p在t中首次出现的位置的运算叫做().A. 求子串B. 模式匹配C. 串替换D. 串连接8 利用双向链表作线性表的存储结构的优点是().A. 便于单向进行插入和删除的操作B. 便于双向进行插入和删除的操作C. 节省空间D. 便于销毁结构释放空间9. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针.若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行( )操作.A. top->link=s;B.s->link=top->link; top->link=s;C. s->link=top; top=s;D. s->link=top; top=top->link;10. 一棵具有35个结点的完全二叉树的高度为( ).假定空树的高度为-1.A. 5B. 6C. 7D. 811. 一个有n个顶点和n条边的无向图一定是( ) 的.A.连通 B.不连通 C.无回路 D.有回路12. 在一个长度为n的顺序表的任一位置插入一个新元素的时间复杂度为().A. O(n)B. O(n/2)C. O(1)D. O(n2)13. 已知广义表为A((a,b,c),(d,e,f)),从A中取出原子e的运算是().A.Tail(Head(A)) B.Head(Tail(A))C.Head(Tail(Head(Tail(A)))) D.Head(Head(Tail(Tail(A))))14. 在一棵树的静态双亲表示中,每个存储结点包含( )个域.A 1B 2C 3D 415. 有向图中的一个顶点的度数等于该顶点的( ).A.入度 B.出度C.入度与出度之和 D.(入度+出度)/215. 与邻接矩阵相比,邻接表更适合于存储( ).A.无向图 B.连通图 C.稀疏图 D.稠密图17. 较快的数据搜索方法是()搜索方法.A. 顺序B. 折半C. 单链D. 散列18. 在闭散列表中,散列到同一个地址而引起的“堆积”问题是由于()引起的.A. 同义词之间发生冲突B. 非同义词之间发生冲突C. 同义词之间或非同义词之间发生冲突D. 散列表“溢出”19. 根据n个元素建立一个有序单链表的时间复杂度为().A. O(1)B. O(n)C. O(n2)D. O(nlog2n)20. 假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为( ).A. front+1==rearB. rear+1==frontC. front==0D. front==rear21. 假定一棵二叉树的第i层上有3i个结点,则第i+1层上最多有( )个结点.A. 3iB. 6iC. 9iD. 2i22. 对于具有e条边的无向图,它的邻接表中共有( )个边结点.A.e-1 B.e+1 C.2e D.3e23. 图的深度优先搜索遍历类似于树的()次序遍历.A. 先根B. 中根C. 后根D. 层次24.栈S最多能容纳4个元素.现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?( )A. E、D、C、B、A、FB. B、C、E、F、A、DC. C、B、E、D、A、FD. A、D、F、E、B、C25.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为:( )A. 98B. 99C. 50D. 4826. 对下列关键字序列用快速排序法进行排序时,速度最快的情形是:( )A. {21、25、5、17、9、23、30}B. {25、23、30、17、21、5、9}B. {21、9、17、30、25、23、5}D. {5、9、17、21、23、25、30}27.对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为( )A. 顺序表B. 用头指针表示的单循环链表C. 用尾指针表示的单循环链表D. 单链表28.假设以第一个元素为分界元素,对字符序列(Q, H, C, Y, P, A, M, S, R, D, F, X)进行快速排序,则第一次划分的结果是:( )A. (A, C, D, F, H, M, P, Q, R, S, X, Y)B. (A, F, H, C, D, P, M, Q, R, S, Y, X)C. (F, H, C, D, P, A, M, Q, R, S, Y, X)D. (P, A, M, F, H, C, D, Q, S, Y, R, X)29.下面是三个关于有向图运算的叙述:( )(1)求有向图结点的拓扑序列,其结果必定是唯一的(2)求两个指向结点间的最短路径,其结果必定是唯一的(3)求AOE网的关键路径,其结果必定是唯一的其中哪个(些)是正确的?A. 只有(1)B. (1)和(2)C. 都正确D. 都不正确30.若进栈序列为a, b, c,则通过入出栈操作可能得到的a, b, c的不同排列个数为: ( )A. 4B. 5C. 6D. 731. 以下关于广义表的叙述中,正确的是:( )A. 广义表是由0个或多个单元素或子表构成的有限序列B. 广义表至少有一个元素是子表C. 广义表不能递归定义D) 广义表不能为空表32. 排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置.这是哪种排序方法的基本思想?( )A. 堆排序B. 直接插入排序C. 快速排序D. 冒泡排序33.已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应该:( )A. 将邻接矩阵的第i行删除B. 将邻接矩阵的第i行元素全部置为0C. 将邻接矩阵的第i列删除D. 将邻接矩阵的第i列元素全部置为034.有一个含头结点的双向循环链表,头指针为head, 则其为空的条件是:( )A. head->priro==NULLB. head->next==NULLC. head->next==headD. head->next-> priro==NULL35. 在顺序表 ( 3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30 )中,用折半法查找关键码值11,所需的关键码比较次数为:( )A. 2B. 3C. 4D. 536. 以下哪一个不是队列的基本运算?( )A. 从队尾插入一个新元素B. 从队列中删除第i个元素C. 判断一个队列是否为空D. 读取队头元素的值37.对包含n个元素的哈希表进行查找,平均查找长度为:( )A. O(log2n)B. O(n)C. O(nlog2n) D 不直接依赖于n38.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号最大的非叶结点的编号为:( )A. 48B. 49C. 50D. 5139.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,则其左子树中结点数目为:( )A. 3B. 2C. 4D. 540.下面是顺序存储结构的优点.A. 存储密度大B. 插入运算方便C. 查找方便D. 适合各种逻辑结构的存储表示41.下面关于串的叙述中,是不正确的.A. 串是字符的有限序列B. 空串是由空格构成的串C. 模式匹配是串的一种重要运算D. 串既可以采用顺序存储,也可以采用链式存储42.的邻接矩阵是对称矩阵.A. 有向图B. 无向图C. AOV网D. AOE网43.用链式方式存储的队列,在进行删除运算时, .A. 仅修改头指针B. 仅修改尾指针C. 头、尾指针都要修改D. 头、尾指针可能都要修改44.二叉树的先序遍历和中序遍历如下,则该二叉树右子树的树根是 .先序序列:EFHIGJK 中序序列:HFIEJKGA. EB. FC. GD. H45.下面方法可以判断出一个有向图中是否有环.A. 深度优先遍历B. 拓朴排序C. 求最短路径D.求关键路径46.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为排序法.A. 插入B. 选择C. 冒泡D. 都不是47.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是 .A. edcbaB. decbaC. dceabD. abcde48.n个节点的完全二叉树,编号为i的节点是叶子结点的条件是 .A. i<nB. 2*i<=nC. 2*i+1>nD. 2*i>n49.向一个有128个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素.A. 64.5B. 64C. 63D. 6550.在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行 .A. q->next=p->next; p->next=q;B. p->next=q->next; q=p;C. p->next=p->next; q->next=q;D. p->next=q->next; q->nxet=p;51.对一个满二叉树,m个树叶,n个结点,深度为h,则有 .A. n=h+mB. h+m=2nC. m=h-1D. n=2h-152.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 .A. 选择排序B. 冒泡排序C. 插入排序D. 希尔排序53.用链式方式存储的队列,在进行插入运算时, .A. 仅修改头指针B. 仅修改尾指针C. 头、尾指针都要修改D. 头、尾指针可能都要修改54.在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)插入一个新元素时,需要从后向前依次后移个元素.A. n-iB. n-i-1C. n-i+1D. i55.一个栈的入栈序列是12345,则栈的不可能的输出序列是 .A. 23415B. 54132C. 23145D. 1543256.5个顶点的有向图最多有条弧.A. 5B. 20C. 4D. 2557.假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件为 .A. front==rearB. front!=NULLC. rear!=NULLD. front==NULL58.若某线性表中最常用的操作是提取第i个元素及找第i个元素的前驱元素,则采用()存储方式最省时间.A.单链表B.双链表C.单向循环链表D.顺序表59.将含有100个结点的完全二叉树从根开始自上向下,每层从左到右依次编号,且设根结点的编号为1,则编号69的结点的双亲的编号为().A. 34B. 35C. 33D. 无法确定60. 单循环链表的主要优点是().A. 不再需要头指针了B. 已知某结点的位置后,很容易找到其前驱C. 在进行插入、删除运算时,能更好地保证链表不断开D. 从表中任一结点出发都能扫描到整个链表61. 一个栈的入栈顺序是1、2、3、4、5,则此栈不可能的输出顺序为().A. 5、4、3、2、1B. 4、5、3、2、1C. 4、3、5、1、2D. 1、2、3、4、562. 串是一种特殊的线性表,其特殊性表现在().A. 可以顺序存储B.数据元素是一个字符C可以链式存储 D.数据元素是多个字符63. n个顶点的无向图中最多有()条边.A. n(n-1)/2B. n(n-1)C. n(n+1)D. n(n+1)/264. 6个顶点的无向图中,至少有()条边才能保证是一个连通图.A. 5B. 6C. 7D. 865.若某线性表中最常用的操作是删除第1个元素,则不宜采用()存储方式.A.单链表B.双链表C.单向循环链表D.顺序表66.在一棵完全二叉树的顺序存储方式中,若编号i的结点有右孩子,则其右孩子的编号为().A. 2iB. 2i-1C. 2i+1D. i/267. 按照二叉树的定义,具有3个结点的二叉树有()种不同形态.A. 3B. 4C. 5D. 668. 在长为n的顺序表中,删除第i个元素(1≤i≤n+1)需要向前移动()个元素.A. n-iB. n-i+1C. n-i-1D. i69. 一个队的入队顺序是1、2、3、4、5,则此队的出队顺序为().A. 5、4、3、2、1B. 4、5、3、2、1C. 4、3、5、1、2D. 1、2、3、4、570. 栈是一种特殊的线性表,其特殊性表现在().A. 可以顺序存储B.只能从端点进行插入和删除C. 可以链式存储D. 可以在任何位置进行插入和删除71. 一棵二叉树中,第k层上最多有()个结点.A. 2kB.2k-1C.2kD.2k-172. 一棵有18个结点的二叉树,其高度最小为()层.A. 4B. 5C. 6D. 1873.有向图中,所有顶点入度和是所有顶点出度和的()倍.A. 0.5B. 1C. 2D. 4(二)填空题1.数据元素之间存在的相互关系称为 .2.数据结构从逻辑上分为结构和结构.3.线性表的顺序存储结构称为 .4.所有插入在表的一端进行,而所有删除在表的另一端进行的线性表称为 .5.深度为h的二叉树,最少有个结点.6.折半查找要求待查表为表.7.n个记录按其关键字大小递增或递减的次序排列起来的过程称为 .8.存储数据时,不仅要存储数据元素的 ,还要存储元素之间的相互 .9.将一棵有100个结点的完全二叉树按层编号,则编号为49的结点X,其双亲PARENT(X)的编号为_ ___.10、一个字符串相等的充要条件是和 .11、在有向图的邻接表和逆邻接表表示中,每个顶点的边链表中分别链接着该顶点的所有和_ 结点.11、在一个长度为n 的顺序表中向第 i 个元素(0<i≤n+1)之前插入一个新元素时,需要向后移动_ 个元素.12、_ 是只允许在表的一端进行插入,而在另一端进行删除的线性表.13、设主串T=“abxxyxyxxbaa”,模式串P=“xyxx”则第_ 次匹配成功.14、在一棵二叉树中,第5层上的结点数最多为_ .(根的层次为1)15、假设一个9阶的上三角矩阵A按列优先顺序压缩存储在一维数组中,其中B[0]存储矩阵中第1个元素a1,1 ,则B[31] 中存放的元素是_ .16、有n个结点的二叉链表中,其中空的指针域为n+1,指向孩子的指针个数为_ .17、二叉树后序遍历的顺序是ABCDE,则该二叉树的根结点是_ .18、对于一个具有n 个顶点和e 条边的无向图,若采用邻接表表示,则整个邻接表中的结点总数是_ .19、在单链表上难以实现的排序方法有_ 和_ .20、_ 查找法的平均查找长度与元素个数n无关.21、在有n 个元素的顺序表的任意位置插入一个元素所需移动结点的平均次数为_ .22、_ 是插入和删除元素都在表的同一端进行的线性表.23、广义表L=(a,b,c,L),则其长度为_ .24、在树中,除跟结点外,其他结点都有且只有一个_ 结点.26、在串s=“structure”中,以t 为首字符的子串有_ 个.27、广度优先搜索遍历类似于树的按_ 遍历的过程.28、已知一棵完全二叉树中共有768个结点为,则该树中共有_ 个叶子结点.29、在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为_ .30、两个长度分别m和n(m>n)的排好序的表归并成一个排好序的表,至少要进行_ 次键值比较.通常从四个方面评价算法的质量:_________、_________、_________和_________.31、一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________.32、若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针.在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针.33、对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个.34、在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边.35、36.在快速排序、堆排序、归并排序中,_________排序是稳定的.36、37.中序遍历二叉排序树所得到的序列是___________序列.38.快速排序的最坏时间复杂度为___________,平均时间复杂度为__________.39.设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为___________________________.40.数据的物理结构主要包括________和________两种情况.41.设一棵完全二叉树中有500个结点,则该二叉树的深度为__________;若用二叉链表作为该完全二叉树的存储结构,则共有___________个空指针域.42、设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列.43、设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的____,第i列上所有元素之和等于顶点i的____.设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点.44、设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________.45、__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序).46、设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中.47、不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为____________.48、设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为________,右孩子结点的编号为________.49、设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为__________________.50、设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为____________________.51、下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句.struct record{int key; int others;};int hashsqsearch(struct record hashtable[ ],int k){int i,j; j=i=k % p;while (hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____) %m; if (i==j) return(-1);}if (_______________________ ) return(j); else return(-1);} j+1,hashtable[j].key==k52、下列算法实现在二叉排序树上查找关键值k,请在下划线处填上正确的语句.typedef struct node{int key; struct node *lchild; struct node *rchild;}bitree;bitree *bstsearch(bitree *t, int k){if (t==0 ) return(0);else while (t!=0)if (t->key==k)_____________; else if (t->key>k) t=t->lchild;else_____________;}return(t),t=t->rchild53、设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________.54、设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________(设结点中的两个指针域分别为llink和rlink).根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为____ 3_______.55、深度为k的完全二叉树中最少有____ 2k-1____个结点.56、设初始记录关键字序列为(K1,K2,…,K n),则用筛选法思想建堆必须从第__ n/2_个元素开始进行筛选.59、设哈夫曼树中共有99个结点,则该树中有_________个叶子结点;若采用二叉链表作为存储结构,则该树中有_____个空指针域.60、设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置).61、设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_____个数据元素;删除第i个位置上的数据元素需要移动表中_____个元素.62、设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为______________________________.63、设一组初始记录关键字序列为(20,18,22,16,30,19),则根据这些初始关键字序列建成的初始堆为________________________.64、设无向图对应的邻接矩阵为A,则A中第i上非0元素的个数_________第i列上非0元素的个数(填等于,大于或小于).65、设前序遍历某二叉树的序列为ABCD,中序遍历该二叉树的序列为BADC,则后序遍历该二叉树的序列为_____________.66、设散列函数H(k)=k mod p,解决冲突的方法为链地址法.要求在下列算法划线处填上正确的语句完成在散列表hashtalbe中查找关键字值等于k的结点,成功时返回指向关键字的指针,不成功时返回标志0.typedef struct node {int key; struct node *next;} lklist;void createlkhash(lklist *hashtable[ ]){int i,k; lklist *s;for(i=0;i<m;i++)_____________________;for(i=0;i<n;i++){s=(lklist *)malloc(sizeof(lklist)); s->key=a[i];k=a[i] % p; s->next=hashtable[k];_______________________;}}hashtable[i]=0,hashtable[k]=s三、应用题主要考点1、二叉树的遍历与恢复(即已知二叉树对其遍历、已知遍历序列恢复二叉树)、哈夫曼树的构造2、图的存储结构(邻接矩阵、邻接表)、图的应用(最小生成树、拓扑排序)3、各种查找方法(二叉排序树、散列表、平均查找长度)4、各种排序方法四、算法设计题主要考点1、线性表的简单算法(顺序表和单链表的基本运算).2、二叉树的简单应用算法(如二叉树的遍历、求二叉树的高度、二叉树中叶子节点数等).3、查找算法(顺序查找、二分查找).4、排序算法(如插入、交换、选择排序等).。