2020-2021学年《数据结构》期末考试试题及答案
《数据结构》期末考试试题及答案
《数据结构》期末考试试题及答案一、单项选择题1. 数据结构是计算机科学的基础学科之一。
下列哪个选项正确描述了数据结构的定义?A. 数据结构是一种计算机程序B. 数据结构是一种存储和组织数据的方法C. 数据结构是一种人工智能技术D. 数据结构是一种操作系统答案:B2. 链表和数组是常见的数据结构,它们之间的主要区别是:A. 数组可以存储不同类型的数据,而链表只能存储相同类型的数据B. 数组的元素在内存中是连续存储的,而链表的元素在内存中是分散存储的C. 链表可以随机访问元素,而数组只能顺序访问元素D. 链表的插入和删除操作更高效,而数组的访问操作更高效答案:B3. 在二叉树中,每个节点最多可以有多少个子节点?A. 1B. 2C. 3D. 无限多个答案:B二、填空题1. 假设有一组数据 [5, 8, 3, 2, 9],按照从小到大的顺序进行冒泡排序的过程中,经过三次交换后的结果是__2__,__3__,__5__,__8__,__9__。
2. 请完成以下代码,实现栈的入栈和出栈操作:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():return self.stack.pop()def is_empty(self):# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False ```答案:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():def is_empty(self):return len(self.stack) == 0# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False```三、简答题1. 请简要介绍树的基本概念及常见的树结构。
数据结构期末考试题及答案
数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 执行算法所需要的计算工作量B. 执行算法所需要的存储空间C. 执行算法所需要的时间D. 执行算法所需要的内存大小答案:A2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态分配D. 存储空间利用率高答案:B3. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 取栈顶元素D. 排序答案:D4. 在二叉树的遍历中,先序遍历的顺序是()。
A. 先根后子B. 先子后根C. 先左后右D. 先右后左答案:A5. 哈希表解决冲突的方法不包括()。
A. 分离链接法B. 线性探测法C. 链地址法D. 二分查找法答案:D6. 一个图的邻接矩阵表示法中,若第i行第j列的元素为1,则表示()。
A. 顶点i和顶点j之间有一条边B. 顶点i和顶点j之间没有边C. 顶点i和顶点j之间有n条边D. 顶点i和顶点j之间有m条边答案:A7. 在查找算法中,二分查找法适用于()。
A. 线性表B. 哈希表C. 树形结构D. 图结构答案:A8. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C9. 一个有n个顶点的无向图,其边数最多为()。
A. nB. n(n-1)/2C. n(n+1)/2D. 2n答案:B10. 以下哪个不是排序算法()。
A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序答案:D二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法执行过程中所需要的___________。
答案:存储空间2. 线性表的链式存储结构中,每个节点包含___________和___________。
答案:数据元素,指针3. 栈的特点是___________,___________。
电大《数据结构》2020-2021期末试题及答案
电大《数据结构》2020-2021期末试题及答案一、单项选择题1. 一个数组元素a 与( A )的表示等价。
A. *(a+i)B. a+iC. *a+iD. &a+I2.执行下面程序段时,执行S语句的次数为( D )。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++) S;A. n2B. n2/2C. n(n+1)D. n(n+1)/23. 当一个作为实际传递的对象占用的存储空间较大并可能被修改时,应最好说明为( B ),以节省参数值的传输时间和存储参数的空间。
A. 基本类型B. 引用型C. 指针型D. 常值引用型4. 输出一个二维数组b[m][n]中所有元素值的时间复杂度为( D )。
A. O(n)B. O(m+n)C. O(n2)D. O(m*n)5. 某算法仅含程序段1和程序段2,程序段1的执行次数3n2,程序段2的执行次数为0.01n3,则该算法的时间复杂度为( C )。
A. O(n)B. O(n2)C. O(n3)D. O(1)6. 多维数组实际上是由嵌套的( A )实现的。
A. 一维数组B. 多项式C. 三元组表D. 简单变量7. 在一个长度为n的顺序表中删除第i个元素(0≤i≤n-1)时,需要从前向后依次前移( C )个元素。
A. n-iB. n-i+1C. n-i-1D. i8. 在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。
A. O(n)B. O(n/2)C. O(1)D. O(n2)9. 设有一个n´n的对称矩阵A,将其上三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么第i行的对角元素A存放于B中( C )处。
A. (i+3)*i/2B. (i+1)*i/2C. (2n-i+1)*i/2D. (2n-i-1)*i/210. 不带头结点的单链表first为空的判定条件是( A )。
数据结构期末考试试题及答案
数据结构期末考试试题及答案一、选择题1. 评价一个算法时间性能的主要标准是( )。
A、算法易于调试B、算法易于理解C、算法的稳定性和正确性D、算法的时间复杂度2. 计算机算法具备有输入、输出、()等五个特性。
A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性C、确定性、有穷性和稳定性D、易读性、稳定性和安全性3. 带头结点的单链表head为空的判定条件是()。
A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL4. 以下关于线性表的说法不正确的是( )。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
5. 在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A、基地址B、结点大小C、向量大小D、基地址和结点大小6. ( )运算中,使用顺序表比链表好。
A、插入B、删除C、根据序号查找D、根据元素值查找7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素A、n-iB、n-i+1C、n-i-1D、i8. ( )适合作为经常在首尾两端操作线性表的存储结构。
A、顺序表B、单链表C、循环链表D、双向链表9. 栈和队列的共同点是()A、都是先进后出B、都是先进先出C、只允许在端点处插入和删除元素D、没有共同点10. 一个队列的入列序列是1 2 3 4,则队列的输出序列是( )。
A、4 3 2 1B、1 2 3 4C、1 4 3 2D、3 2 4 111. 队列与一般的线性表的区别在于( )。
A、数据元素的类型不同B、运算是否受限制C、数据元素的个数不同D、逻辑结构不同12. “假上溢”现象会出现在( )中。
A、循环队列B、队列C、链队列D、顺序队列二、填空题1.数据的逻辑结构被分为集合、线性结构、树形结构和图结构。
2020-2021学年第一学期计算机科学与技术专业《数据结构》期末考试题及答案(试卷B)
XXX大学2020-2021学年第一学期计算机科学与技术专业《数据结构》期末考试题及答案(试卷B)一、填空题(每空1.5分,共30分)。
⒈任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的。
⒉数据结构是一门研究的程序设计问题中计算机的操作对象以及它们之间的等等的学科。
⒊带头结点的单向链表L为空的判定条件是;非空的循环单链表head的尾结点p满足条件。
⒋栈和队列是两种特殊的线性表,栈的特点是,栈的典型应用有和。
⒌在具有n个单元的循环队列中,队列满时共有个元素。
⒍若串的长度不能确定,可采用动态存储结构,为串值分配一个存储空间,同时建立一个串的描述子以指示串值的长度和串在存储空间中的位置,称该结构为。
⒎稀疏矩阵一般的压缩存储方法有两种,即和十字链表。
⒏二维数组A[10][20]采用列序为主方式存储,每个元素占10个存储单元,且A[0][0]的存储地址是2000,则A[6][12]的地址是。
⒐一棵高度为h的满二叉树共有个终端结点。
⒑已知一棵完全二叉树的第5层有3个结点,其叶子结点数是。
⒒具有8个顶点的有向完全图有条弧。
⒓在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于。
⒔对线性表进行二分查找时,要求线性表必须以方式存储,且结点按关键字排列。
⒕在分块查找方法中,首先查找索引,然后再查找相应的。
⒖与快速排序和堆排序相比,归并排序的最大特点是,它是一种的排序方法。
二、判断题(每小题1分,共10分)若正确,填入“T”,否则填入“F”。
⒈线性表的逻辑顺序与存储顺序总是一致的。
();⒉一个栈的入栈序列是12345,则栈的输出序列12345是不可能的。
();⒊将递归算法转换成对应的非递归算法时,通常需要使用栈。
();⒋设有两个串p和q,求q在p中首次出现的位置的运算称作求子串。
();⒌二维数组是其数据元素为线性表的线性表。
();⒍线索二叉树是一种逻辑结构。
();⒎深度为K的完全二叉树至少有2K-1个结点。
(完整word版)数据结构试卷及答案(word文档良心出品)
注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。
A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。
A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。
A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为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; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。
A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。
数据结构期末试题及答案
计算机科学与技术、网络工程本科《数据结构》期末考试试卷一、选择题〔单选题,每小题3分,共33分〕1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为。
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找〔⎣⎦2/)low+〕,查找元素(highA[11]时,被比较的元素的下标依次是。
A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列〔27,16,75,38,51〕构造平衡二叉树,则首次出现的最小不平衡子树的根〔即离插入结点最近且平衡因子的绝对值为2的结点〕为。
A.27 B.38 C.51 D.754.利用逐点插入法建立序列〔50,72,43,85,75,20,35,45,65,30〕对应的二叉排序树以后,查找元素30要进行次元素间的比较。
A.4 B.5 C.6 D.75.循环链表的主要优点是。
A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表〔38,25,74,63,52,48〕,假定采用散列函数h〔key〕=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为。
A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为。
A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O〔nlogn〕且稳定的排序方法是。
A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),〔a,e〕,(a,c),〔b,e〕,〔c,f〕,(f,d),〔e,d〕}。
2021年7月国家开放大学电大期末试题及答案:数据结构(本)
)
21. 递归定义的数据结构通常用递归算法来实现对它的操作。(
)
22. 队列的特性是先进后出。(
)
23. 用字符数组存储长度为 n 的字符串,数组长度至少为 n+l 。(
)
24. 一个广义表的表头总是一个广义表。(
)
25. 若树的度为 2 时,该树为二叉树。(
)
(1252 号)数据结构(本)试题第 3 页(共 6 页)
抑
郎
while(! QueueEmpty(Q)) printf(" %cl" ,OutQueue(Q));
长
执行后的输出结果为:
A. 5 8 12 15 30
B. 12 15 5 30 18
C. 8 12 15 30 18
D. 12 15 5 18 30
33. 设查找表为:
(2) 用折半查找在该查找表成功查找到元素 55 需要经过(
B. 15
C. 16
D. 32
12. 一个具有 n 个顶点的无向完全图包含(
)条边。
A. n(n-1)
B. n(n+D
— C. n(n 1)/2
D. n(n+l)/2
(1252 号)数据结构(本)试题第 2 页(共 6 页)
13. 对于一个具有 n 个顶点和 e 条边的无向图,若采用邻接表表示,则所有顶点邻接表中
9. 广义表的 (a,(d,a,b),h,(e,(Ci,j),k))) 深度是(
)。
A. 6
B. 10
C. 8
D. 4
10. 在一棵二叉树中,若编号为 8 的结点存在右孩子,则右孩子的顺序编号为(
)。
A. 18
数据结构期末考试试题及答案
数据结构期末考试试题及答案一、选择题1、评价一个算法时间性能得主要标准就是( ).A、算法易于调试B、算法易于理解C、算法得稳定性与正确性D、算法得时间复杂度2、计算机算法具备有输入、输出、( )等五个特性。
A、可行性、可移植性与可扩充性B、可行性、确定性与有穷性C、确定性、有穷性与稳定性D、易读性、稳定性与安全性3、带头结点得单链表head为空得判定条件就是().A、head==NULLB、head->next==NULLC、head-〉next==headD、head!=NULL4、以下关于线性表得说法不正确得就是()。
A、线性表中得数据元素可以就是数字、字符、记录等不同类型。
B、线性表中包含得数据元素个数不就是任意得。
C、线性表中得每个结点都有且只有一个直接前趋与直接后继。
D、存在这样得线性表:表中各结点都没有直接前趋与直接后继.5、在顺序表中,只要知道(),就可在相同时间内求出任一结点得存储地址。
A、基地址B、结点大小C、向量大小D、基地址与结点大小6、( )运算中,使用顺序表比链表好。
A、插入B、删除C、根据序号查找D、根据元素值查找7、一个长度为n得顺序表中,向第i个元素之前插入一个新元素时,需要向后移动( )个元素。
A、n-iB、n-i+1C、n—i—18、()适合作为经常在首尾两端操作线性表得存储结构.A、顺序表B、单链表C、循环链表D、双向链表9、栈与队列得共同点就是( )A、都就是先进后出B、都就是先进先出C、只允许在端点处插入与删除元素D、没有共同点1一个队列得入列序列就是1 2 3 4,则队列得输出序列就是( )。
0、A、4 3 2 1B、1 2 3 4C、1 4 3 2D、3 2 4 11队列与一般得线性表得区别在于()。
1、A、数据元素得类型不同B、运算就是否受限制C、数据元素得个数不同D、逻辑结构不同12、“假上溢”现象会出现在( )中。
A、循环队列B、队列C、链队列D、顺序队列1.数据得逻辑结构被分为集合、线性结构、树形结构与图结构。
2020-2021学年《数据结构与算法》期末试题试卷
2020-2021学年计算机应用专业《数据结构与算法》试题A卷注意:本试卷共4页,满分100分,考试时间为90分钟,考试方式为闭卷笔试。
姓名:______________________ 学号:________________________ 一、选择题(每题1分,共31题,第31题2分,总32分)(1)设有如下遗产继承规则:丈夫和妻子可以互相继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
表示该遗产继承关系最合适的数据结构应该是()。
A.树B.图C.数组D.二叉树(2)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B. 紧凑结构和非紧凑结构C.线性结构和非线性结构D. 内部结构和外部结构(3)以下数据结构中不属于线性数据结构的是()。
A.队列B.线性表C.二叉树D.栈(4)算法的时间复杂度是指()。
A.执行算法程序所需要的时间B. 算法程序的长度C.算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(5)算法一般可以由哪几种控制结构组合而成()。
A.循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环(6)计算机算法指的是解决问题的步骤序列,它必须具备()这三个特性。
A. 可执行性、可移植性、可扩充性B. 可执行性、确定性、有穷性C.确定性、有穷性、稳定性D. 易读性、稳定性、安全性(7)在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()。
A. p=NULLB. p→next=NULLC. p=hD. p→next=h (8)带头结点的单链表head为空的判定条件是()。
A. head = = NULLB. head → next = = NULLC. head → next = = headD. head != NULL(9)对于栈操作数据的原则是()。
A.先进先出B. 后进先出C. 后进后出D. 不分顺序(10)有六个元素按6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?()A.5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 6 (11)栈s最多能容纳4个元素。
2020-2021学年《数据结构与算法》期末考试复习试题
2020-2021学年《数据结构与算法》期末考试复习试题一、选择题。
1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型C.数据元素之间的关系 D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
6.以下说法正确的是 D 。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是 O(n2) 。
s =0;for( I =0; i<n; i++)f or(j=0;j<n;j++)s +=B[i][j]; sum =s ;9.下面程序段的时间复杂度是 O(n*m) 。
for( i =0; i<n; i++)for(j=0;j<m;j++)A[i][j] = 0;10.下面程序段的时间复杂度是 O(log3n) 。
i = 0;while(i<=n)i = i * 3;11.在以下的叙述中,正确的是 B 。
数据结构期末试题及答案
模拟试题一一、判断题(下列各题,你认为正确的,请在前面的括号内打√,错误的打×。
每题1分,共10分)(√)1.数据的存储结构是数据的逻辑结构的存储映像。
(√)2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。
(×)3.非线性结构中,至少存在一个元素不止一个直接前驱或不止一个直接后继。
(√)4.树的最大特点是一对多的层次结构。
(√)5.队列的特点是先进先出。
(×)6.图的最小生成树是惟一的。
()7.线性表是广义表的特殊形式。
(√)8.由后序遍历序列和中序遍历序列能惟一确定一棵二叉树。
(×)9.散列表是一种链式存储结构。
(×)10.快速排序并非在任何情况下都比其他排序方法速度快。
二、填空题(每空2分,共20分)1.数据的存储结构的4种形式为链接存储顺序存储、散列存储和索引存储。
2.所有插入和删除都在表的一端进行的线性表称为队列。
3.有n个结点的完全二叉树(空二叉树的深度为0),其深度h= 「log2n」+1 。
4.对于顺序循环队列Q[M],下标从0到M-1,头尾指针分别为F和R,入队时,队尾指针的变化可以表示为R= (R+1)%M 。
5.散列法既是一种查找方法,又是一种存储方法。
6.n个顶点的有向完全图具有 n*(n-1)条弧。
7.n个元素的顺序查找(检索)的平均查找长度为(n+1)/2 。
三、单选题(本题的每一备选答案中,只有一个是正确的,请把你认为正确的答案填入括号内,多选不给分,每小题3分,共15分)1.若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1C)4,2,3,1 D)2,3,4,12.对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCGC)DEBFGCA D)GFCEBDA3.对于图2所示的AOV网,不能出现的拓扑序列为( A )。
数据结构期末考试试卷
数据结构期末考试试卷一、选择题(每题2分,共20分)1. 在数据结构中,通常使用______来表示数据元素之间的关系。
A. 指针B. 函数C. 数组D. 链表2. 以下关于栈的描述,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈的插入和删除操作都只能从栈顶进行C. 栈的实现可以使用数组或链表D. 栈的容量是无限的3. 以下数据结构中,时间复杂度为O(1)的查找操作是:A. 链表B. 顺序表C. 哈希表D. 二叉搜索树4. 以下哪种排序算法的时间复杂度是O(n^2):A. 快速排序B. 归并排序C. 选择排序D. 堆排序5. 以下关于图的描述,错误的是:A. 图由顶点和边组成B. 图可以是有向的,也可以是无向的C. 图中的边可以是单向的,也可以是双向的D. 图中不能存在环6. 以下算法中,不是基于比较的排序算法是:A. 冒泡排序B. 插入排序C. 计数排序D. 选择排序7. 以下关于树的遍历算法,说法正确的是:A. 先序遍历是先访问根节点,然后遍历左子树,最后遍历右子树B. 中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树C. 后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点D. 所有选项都是正确的8. 以下数据结构中,可以用于实现索引的是:A. 数组B. 链表C. 栈D. 队列9. 以下算法中,空间复杂度为O(1)的是:A. 快速排序B. 归并排序C. 选择排序D. 插入排序10. 在二叉树中,以下说法正确的是:A. 每个节点最多有两个子节点B. 每个节点最多有一个子节点C. 每个节点的子节点数没有限制D. 每个节点至少有两个子节点二、简答题(每题5分,共10分)1. 简述链表与数组在存储结构上的区别。
2. 描述二叉搜索树的查找过程。
三、算法设计题(每题15分,共30分)1. 请设计一个算法,实现单链表的反转。
2. 请设计一个算法,实现二叉树的前序遍历。
四、综合应用题(每题20分,共30分)1. 假设有一个字符串数组,请设计一个算法,将数组中的字符串按照字典序排序,并输出排序后的结果。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
【数据结构期末试题及答案】样卷7
2020学年数据结构期末试题及答案(七)一、选择题1、12、对于具有n个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为()。
A. nB. n2C. n-1D. (n-1)22、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是()。
A. 完全图B. 连通图C. 有回路D. 一棵树3、关键路径是事件结点网络中()。
A. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长的回路D. 最短的回路4、下面()可以判断出一个有向图中是否有环(回路)。
A. 广度优先遍历B. 拓扑排序C. 求最短路径D. 求关键路径5、带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中()。
A. 第i行非无穷的元素之和B. 第i列非无穷的元素个数之和C. 第i行非无穷且非0的元素个数D. 第i行与第i列非无穷且非0的元素之和6、采用邻接表存储的图,其深度优先遍历类似于二叉树的()。
A. 中序遍历B. 先序遍历C. 后序遍历D. 按层次遍历7、无向图的邻接矩阵是一个()。
A. 对称矩阵B. 零矩阵C. 上三角矩阵D. 对角矩阵8、当利用大小为N的数组存储循环队列时,该队列的最大长度是()。
A. N-2B. N-1C. ND. N+19、邻接表是图的一种()。
A. 顺序存储结构B.链式存储结构C. 索引存储结构D. 散列存储结构10、下面有向图所示的拓扑排序的结果序列是()。
A. 125634B. 516234C. 123456D. 52164311、在无向图中定义顶点vi与vj之间的路径为从vi到vj的一个()。
A. 顶点序列B. 边序列C. 权值总和D. 边的条数12、在有向图的逆邻接表中,每个顶点邻接表链接着该顶点所有()邻接点。
A. 入边B. 出边C. 入边和出边D. 不是出边也不是入边13、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V1V2,E1E2则称()。
A. G1是G2的子图B. G2是G1的子图C. G1是G2的连通分量D. G2是G1的连通分量14、已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。
《数据结构》期末考试试卷附答案
《数据结构》期末考试试卷附答案一、单项选择题(本大题共10小题,每小题3分,共30分)1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性 (B). 可行性 (C). 健壮性 (D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A). n2 (B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9.Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
2020-2021学年数据结构期末考试试题含答案
2020-2021学年数据结构期末考试试题一、单项选择题(每小题2分,共20分)1.数据的运算a 。
A.效率与采用何种存储结构有关B.是根据存储结构来定义的C.有算术运算和关系运算两大类D.必须用程序设计语言来描述答:A。
2. 链表不具备的特点是 a 。
A.可随机访问任一结点B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与其长度成正比答:参见本节要点3。
本题答案为:A。
3. 在顺序表中删除一个元素的时间复杂度为 c 。
A.O(1)B.O(log2n)C.O(n)D.O(n2)答:C。
4.以下线性表的存储结构中具有随机存取功能的是 d 。
A. 不带头结点的单链表B. 带头结点的单链表C. 循环双链表D. 顺序表解 D。
5. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。
A.edcbaB.decbaC.dceabD.abcde答:C。
6. 循环队列qu的队空条件是 d 。
A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSizeB. (qu.rear+1)%MaxSize==qu.front+1C.(qu.rear+1)%MaxSize==qu.frontD.qu.rear==qu.front答:D。
7. 两个串相等必有串长度相等且 b 。
A.串的各位置字符任意B.串中各位置字符均对应相等C.两个串含有相同的字符D.两个所含字符任意答:B。
8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。
A.94,32,40,90,80,46,21,69B.32,40,21,46,69,94,90,80C.21,32,46,40,80,69,90,94D.90,69,80,46,21,32,94,40答:C。
9. 以下序列不是堆(大根或小根)的是 d 。
A.{100,85,98,77,80,60,82,40,20,10,66}B.{100,98,85,82,80, 77,66,60,40,20,10}C.{10,20,40,60,66,77,80,82,85,98,100}D.{100,85,40,77,80, 60,66,98,82,10,20}答:D。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020-2021学年《数据结构》期末考试复习试题一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
(A)、lchild (B)、data (C)、rchild (D)、root二、填空题1.逻辑结构决定了算法的,而存储结构决定了算法的。
2.栈和队列都是一种的线性表,栈的插入和删除只能在进行。
3.线性表(a1,a2,…,a n)的顺序存储结构中,设每个单元的长度为L,元素a i 的存储地址LOC(a i)为4.已知一双向链表如下(指针域名为next和prior):现将p所指的结点插入到x和y结点之间,其操作步骤为:;;;;5.n个结点无向完全图的的边数为,n个结点的生成树的边数为。
6.已知一有向无环图如下:任意写出二种拓扑排序序列:、。
7.已知二叉树的中序遍历序列为BCA,后序遍历序列为CBA,则该二叉树的先序遍历序列为,层序遍历序列为。
三、应用题1.设散列函数H(k)=k % 13,设关键字系列为{22,12,24,6,45,7,8,13,21},要求用线性探测法处理冲突。
(6分)(1) 构造HASH表。
(2) 分别求查找成功和不成功时的平均查找长度。
2.给定表(19,14,22,15,20,21,56,10).(8分)(1)按元素在表中的次序,建立一棵二叉排序树(2)对(1)中所建立的二叉排序树进行中序遍历,写出遍历序列。
(3)画出对(2)中的遍历序列进行折半查找过程的判定树。
3. 已知二个稀疏矩阵A 和B 的压缩存储三元组表如下:写出A-B 压缩存储的三元组表。
(5分)4. 已知一维数组中的数据为(18,12,25,53,18), 试写出插入排序(升序)过程。
并指出具有n 个元素的插入排序的时间复杂度是多少?(5分)5. 已知一网络的邻接矩阵如下,求从顶点A 开始的最小生成树。
(8分,要有过程)A B C D E F(1)求从顶点A 开始的最小生成树。
(2)分别画出以A 为起点的DFS 生成树和BFS 生成树。
6把这些字母和频率作为叶子结点及权值,完成如下工作(7分,要有过程)。
(1) 画出对应的Huffman 树。
(2) 计算带权路径长度WPL 。
(3) 求A 、B 、C 、D 、E 、F 的Huffman 编码。
7. 已知有如下的有向网:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞64266346751275356156F E D C B A求顶点A 到其它各顶点的最短路径(采用Dijkstra 算法,要有过程)。
(6分)三、 设计题(30分,每题10分,用C 语言写出算法,做在答题纸上)1. 已知线性表(a 1,a 2,…,a n )以顺序存储结构为存储结构,其类型定义如下: #define LIST_INIT_SIZE 100 //顺序表初始分配容量 typedef struct {Elemtype *elem; //顺序存储空间基址int length; //当前长度(存储元素个数) }SqList;设计一个算法,删除其元素值为x 的结点(假若x 是唯一的)。
并求出其算法的平均时间复杂度。
其算法函数头部如下: S tatus ListDelete(Sqlist &L,Elemtype x) {……}2.设顺序栈如左图所示。
其中结点定义如下:typedef struct {Elemtype *base; //栈底指针 Elemtype *top; //栈顶指针}Stack;设计算法,将栈顶元素出栈并存入e 中. base3.设二叉链树的类型定义如下: typedef int Elemtype; typedef struct node{ Elemtype data;struct node *lchild, *rchild; }BinNode, *BinTree;试写出求该二叉树叶子结点数的算法:S tatus CountLeaves(BinTree &root,int &n) {//n is the number of leaves……}答案:选择题(每题1分)1、C2、D3、A4、D5、C6、D7、A8、B9、C 10、C一、填空题1.设计、实现2.特殊、栈顶3.LOC(a1)+(i-1)*L4.p->next=q->next;q->next->prior=p; q->next=p;p->prior=q; 5.n(n-1)/2、n-16.ADCBFEG、ABCDEFFG7.ABC、ABC二、应用题(2)查找成功的平均查找长度:(1分)(5*1+1*2+2*3+1*7)/9=20/9查找不成功的平均查找长度:(1分)(2+1+9+8+7+6+5+4+3+2+1)/13=2(1)、构造(3分)(2)、10 14 15 19 20 21 22 56(2分)(3)、(3分)3、(5分,每行4、53 18第 一 趟:[12 18] 25 53 18第 二 趟:[12 18 25] 53 18 第 三 趟:[12 18 第 四 趟:[12 18 18 (4分)O (n 2)(1分)。
5、7分 (1)4分(2)4分6、(1) 3分 AB 1 C3 25 D 4E F(2)WPL=0.1*3+0.1*3+0.2*2+0.15*3+0.15*3+03*21= (1分) (3)A :010 B :011 C :110 D :111 E :00 F ;10 (3分) 12、A-B :(A 、B ) 1分A-C :(A 、D 、C ) 2分 A-D :(A 、D ) 1分 A-E :(A 、D 、E ) 2分 三,设计题(20分) 1、(10分)Status ListDelete(Sqlist &L,ElemType x) {int i,j;for(i=0;i<L->length;i++)if(L->elem[i]==x) break; if(i=L->length) return ERROR; for(j=i;j<L->lengthi-1;j++) L->elem[j]=L->elem[j+1]; L->length--; } (8分) 平均时间复杂度:(2分)设元素个数记为n ,则平均时间复杂度为:∑=-=-=n i n i n n E 121)(12(10分)void pop(Stack &S,Elemtype &e) {if(S.top==S.base) return ERROR; S.top--; e=*s.top; } 2、(10分)voidCountLeaves(BinTree T,int &n) { if(T) {if((!(T->lchild)&&!( T->rchild)) n++; CountLeaves (T->lchild,n); CountLeaves (T->rchild,n); } }习题1一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1)A.计算方法 B.排序方法C.解决问题的有限运算序列 D.调度方法(2)A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低B.高C.相同D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。