数据结构试卷E答案
- 格式:doc
- 大小:41.00 KB
- 文档页数:3
得分一、单项选择题(10 小题,每小题 2 分,共 20 分)1.设栈 S 和队列 Q 的初始状态为空,元素 e1,e2,e3,e4,e5,e6 依次通过栈 S,一个元素出栈后即进入队列 Q,若 6 个元素出队的顺序是 e2,e4,e3,e6,e5,e1,则栈 S 的容量至少应该是()。
BA.2B.3C.4D.62.由 4 个叶子结点构造一棵哈夫曼树,该树的总结点数是(A.4 B.5 C.6D)。
D.73.对于长度为m(m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是)。
(DA.若入栈和入队列的序列相同,则出栈序列和出队序列可能相同B.若入栈和入队列的序列相同,则出栈序列和出队序列可以互为逆序C.入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是1: n (n≥1)D.入队序列与出队序列关系为1: n (n≥1),而入栈序列与出栈序列关系是1:14.在一个单链表 HL 中,若要删除由指针 q 所指结点的后继结点,则执行(A)。
A.p=q->next; q->next=p->next; C.p=q->next; p->next=q->next;B.p=q->next; q->next=p;D.q->next= q->next->next; q->next=q;5.假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女之间不能相互继承。
则表示该遗产继承关系的数据结构应该是()。
A.树B.图C.线性表D.集合B6.设数组 S[n]作为两个栈 S1 和 S2 的存储空间,对任何一个栈只有当 S[n]全满时才不能进行进栈操作。
为这两个栈分配空间的最佳方案是(A.S1 的栈底位置为 0,S2 的栈底位置为n-1B.S1 的栈底位置为 0,S2 的栈底位置为n/2C.S1 的栈底位置为 0,S2 的栈底位置为nD.S1 的栈底位置为 0,S2 的栈底位置为 1A)。
第一章绪论一,选择题1.组成数据的根本单位是〔〕A.数据项B.数据类型C.数据元素D.数据变量2.数据结构是研究数据的〔〕以及它们之间的相互关系。
A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构3.算法分析的两个主要方面是〔〕A.正确性和简单性B.可读性和文档性C.数据复杂性和程序复杂性D.时间复杂度和空间复杂度4.算法分析的目的是〔〕。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改良D.分析算法的易懂性和文档性5. 算法的时间复杂度取决于〔〕A.问题的规模 B. 待处理数据的初态 C. A和B D.以上都不是6.一个算法应该是〔〕。
A.程序 B.问题求解步骤的描述 C.要满足五个根本特性 D.A和C.7. 下面关于算法说法错误的选项是〔〕A.算法最终必须由计算机程序实现C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.从逻辑上可以把数据结构分为〔〕两大类。
A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构9.程序段 for ( i=n-1;i>=1;i--)for (j=1j<=i;j++)if( A[j]>A[j+1])A[j]与A[j+1]对换;其中 n为正整数,那么最后一行的语句频度在最坏情况下是〔〕A.O〔n〕B.O(nlogn) C..O(n3) D.O(n2)10.连续存储设计时,存储单元的地址〔〕。
A.一定连续 B.一定不连续 C.不一定连续 D.局部连续,局部不连续二,判断题1.数据结构的抽象操作的定义与具体实现有关。
( )2.数据结构是数据对象与对象中数据元素之间关系的集合。
3.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
( )4.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用的需要建立的。
5.算法和程序原那么上没有区别,在讨论数据结构是两者是通用的。
数据结构考试试题及答案数据结构考试试题及答案数据结构是计算机科学中非常重要的一门课程,它涉及到了计算机程序设计中的数据组织、存储和管理等方面。
在学习数据结构的过程中,掌握基本的数据结构类型、操作和算法是非常重要的。
为了帮助大家更好地掌握数据结构,下面将提供一些常见的数据结构考试试题及答案。
一、选择题1. 下面哪个不是线性数据结构?A. 数组B. 链表C. 栈D. 队列答案:D. 队列2. 下面哪个数据结构可以实现先进先出(FIFO)的操作?A. 栈B. 队列C. 链表D. 树答案:B. 队列3. 下面哪个数据结构可以实现后进先出(LIFO)的操作?A. 栈B. 队列C. 链表D. 树答案:A. 栈4. 下面哪个数据结构可以实现快速查找和插入操作?A. 数组B. 链表C. 栈D. 队列答案:A. 数组5. 下面哪个数据结构可以实现快速查找和删除操作?A. 数组B. 链表C. 栈D. 队列答案:B. 链表二、填空题1. 请写出数组的插入操作的时间复杂度。
答案:O(n)2. 请写出链表的删除操作的时间复杂度。
答案:O(1)3. 请写出栈的出栈操作的时间复杂度。
答案:O(1)4. 请写出队列的入队操作的时间复杂度。
答案:O(1)5. 请写出二叉搜索树的查找操作的时间复杂度。
答案:O(log n)三、简答题1. 什么是数据结构?答案:数据结构是计算机存储、组织数据的方式,它定义了数据的逻辑结构和存储结构,以及对数据进行操作的算法。
2. 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行时间的度量,它表示算法执行所需的时间与问题规模之间的关系。
空间复杂度是衡量算法所需的存储空间的度量,它表示算法所需的存储空间与问题规模之间的关系。
3. 请解释什么是递归算法,并给出一个例子。
答案:递归算法是一种自己调用自己的算法。
一个经典的例子是计算斐波那契数列的第n项。
代码如下:```int fibonacci(int n) {if (n <= 1) {return n;}return fibonacci(n-1) + fibonacci(n-2);}```以上就是一些常见的数据结构考试试题及答案。
数据结构试卷(十一)一、选择题(30分)1.设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。
(A) 2n (B) n (C) n/2 (D) n(n-1)2.设无向图G中有n个顶点,则该无向图的最小生成树上有()条边。
(A) n (B) n-1 (C) 2n (D) 2n-13.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。
(A) 40,42,60,55,80,85 (B) 42,45,55,60,85,80(C) 42,40,55,60,80,85 (D) 42,40,60,85,55,804.()二叉排序树可以得到一个从小到大的有序序列。
(A) 先序遍历(B) 中序遍历(C) 后序遍历(D) 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为()。
(A) 2i+1 (B) 2i (C) i/2 (D) 2i-16.程序段s=i=0;do {i=i+1;s=s+i;}while(i<=n);的时间复杂度为()。
(A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(n3/2)7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。
(A) head==0 (B) head->next==0(C) head->next==head (D) head!=08.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。
(A) 20 (B) 256 (C) 512 (D) 10249.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
(A) 1 (B) 2 (C) 3 (D) 410.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。
数据结构试题(含答案)1.数据逻辑结构包括线性结构、树形结构和图状结构三种类型,树形结构和图状结构合称非线性结构2.数据的逻辑结构分为集合、线性结构、树形结构和图状结构4种。
3.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
4.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
5.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没.6.数据结构的基本存储方法是顺序、链式、索引和散列存储。
有后续结点,其余每个结点的后续结点可以任意多个。
7.衡量一个算法的优劣主要考虑正确性、可读性、健壮性和时间复杂度与空间复杂度。
8.评估一个算法的优劣,通常从时间复杂度和空间复杂度两个方面考察。
9.算法的5个重要特性是有穷性、确定性、可行性、输入和输出。
10.在单链表中,要删除某一指定的结点,必须找到该结点的前驱结点。
11.在单链表中,要删除某一指定的结点,必须找到该结点的前驱结点。
12.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后继结点。
13.在顺序表中插入或删除一个数据元素,需要平均移动n个数据元素,移动数据元素的个数与位置有关14.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表的元素是,应采用顺序存储结构15.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表和双链表。
16.顺序存储结构是通过下标表示元素之间的关系的;链式存储结构是通过指针表示元素之间的关系的17.带头结点的循环链表L中只有一个元素结点的条件是L->next->next=L18.栈是限定仅在表尾进行插入或删除操作的线性表,其运算遵循后进先出的原则。
19.空串是零个字符的串,其长度等于零。
空白串是由一个或多个空格字符组成的串,其长度等于其包含的空格个数。
《数据结构》试题参考答案 (开卷)(电信系本科2001级 2002年12月)一、回答下列问题 (每题4分,共36分)1. 某完全二叉树共有15381个结点,请问其树叶有多少个? 答:n2=⎡n/2⎤=⎡15381/2⎤=7691(个)2. 假设有二维数组A 7×9,每个元素用相邻的6个字节存储,存储器按字节编址。
已知A 的起始存储位置(基地址)为1000,末尾元素A[6][8]的第一个字节地址为多少?若按列存储时,元素A[4][7]的第一个字节地址为多少?答:① 末尾元素A[6][8]的第一个字节地址=1000+(7行×9列—1)×6B =1000+62×6=1372 ②按列存储时,元素A[4][7]的第一个字节地址=1000+(7列×7行+4)×6B =1000+53×6=1318 3. 在KMP 算法中,已知模式串为ADABBADADA ,请写出模式串的next[j]函数值。
答:根据0 当j =1时next[ j ]= max { k |1<k<j 且‘T 1…T k-1’=‘T j-(k-1) …T j-1’ }1 对应模式串的next[ j ] 演示程序亦验证了结果: next[j]=03 4. 已知一棵二叉树的前序序列和中序序列分别为:ABDEGCFH 和DBGEACHF ,则该二叉树的后序序列是什么?答:法1:先画树而得后序序列;A(DBGE) (CHF)B C 结论:D G E B H F C AD (GE) (HF)E F G H法2:直接推出后序序列step1: (DBGE) (CHF) A step2: D(GE)B (HF) C A step3: DGE B HF C A5. 请证明:用二叉链表法(Lchild-Rchild )存储包含n 个结点的二叉树,必有n+1个指针域为空。
答:因为:用二叉链表存储包含n 个结点的二叉树,结点共有2n 个链域;又因为:二叉树中除根结点外,每一个结点有且仅有一个双亲,这就意味着只有n-1个结点的链域存放指向非空子女结点的指针(换句话说,有后继孩子链接的指针仅n-1个);所以,空指针数目=全部指针数2n -所有非空指针数(n-1)=所有空指针数=n +1,证毕。
数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。
2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。
A nB n/2C (n-1)/2D (n+1)/2?4、在一个单链表中,若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 )的表示等价。
清华大学数据结构试题及答案以下是清华大学数据结构试题及答案:试题一:1. 请解释什么是数据结构。
答案:数据结构是计算机科学中研究数据的组织、存储和管理方式的学科。
它涉及到数据的表示、操作以及与之相关的算法的设计和实现。
2. 请列举常见的数据结构类型。
答案:常见的数据结构类型包括数组、链表、栈、队列、树、图等。
3. 请解释什么是算法。
答案:算法是一系列解决特定问题的指令和计算步骤。
它描述了在给定输入的情况下,如何进行计算并产生所需输出。
4. 请列举一些常见的算法。
答案:常见的算法包括排序算法(如冒泡排序、插入排序、快速排序)、查找算法(如二分查找、哈希查找)、图算法(如深度优先搜索、广度优先搜索)等。
5. 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是描述算法执行时间与输入规模之间的关系。
空间复杂度是描述算法所需内存空间与输入规模之间的关系。
试题二:1. 请给出数组和链表的区别。
答案:数组是一块连续的内存空间,元素在内存中按照索引顺序排列。
链表是由节点组成的数据结构,每个节点包含数据和指向下一个节点的指针。
2. 请解释什么是栈和队列。
答案:栈是一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。
队列是一种先进先出(FIFO)的数据结构,允许在队尾插入数据,在队头删除数据。
3. 请给出树和图的区别。
答案:树是一种由节点和边组成的数据结构,每个节点可以有多个子节点。
图是一种由节点和边组成的数据结构,节点之间的关系可以是任意的,包括有向和无向边。
4. 请解释什么是哈希表。
答案:哈希表是一种通过哈希函数将键映射到特定位置的数据结构。
它能够快速地进行插入、删除和查找操作。
5. 请解释什么是递归。
答案:递归是一种通过调用自身的方法或函数来解决问题的编程技巧。
在递归过程中,问题会被拆分成一个或多个规模较小的子问题,直到达到基本情况。
以上就是清华大学数据结构试题及答案,希望对您有所帮助。
广州大学2017-2018学年第二学期试卷课程《数据结构》考试形式(闭卷,考试)物理与电子工程学院电子系电子061、062、063 专业学号姓名一、判断题(对打√,错打×。
每题1分,共15分)1、顺序存储结构只能用于存储线性结构。
( )2、在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。
( )3、在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻( )。
4、二叉树的前序遍历序列中,任意一个结点均处在其子树结点的前面( )。
5、二叉树的前序和后序遍历序列能惟一确定这棵二叉树( )。
6、在无向图中,边的条数是结点度数之和( )。
7、图的邻接矩阵必定是对称矩阵( )。
8、二叉树是度最大为2的有序树( )。
9、结点数固定的二叉树中,完全二叉树具有最小路径长度( )。
10、中序线索树中,右线索若不为空,则一定指向其双亲结点( )。
11、有向图用邻接矩阵表示,容易实现求结点度数的操作( )。
12、按深度优先搜索遍历图时,与始点相邻的结点先于不与始点相邻的结点访问( )13、若有向图的邻接矩阵中对角线以下元素均为零,则该图的拓扑排序序列必定存在( )。
14、若有向图G中包含一个环,则G的结点间不存在拓扑排序( )。
15、图的拓扑排序序列是唯一的( )。
二、选择题(每题2分,共20分)1.数据结构被形式定义为(D,S),其中D是()的有限集合,S是D上的()有限的集合。
A.算法 B.数据元素C.数据操作D.逻辑结构E.操作F.映像G.存储H.关系2.设n为正整数。
下列程序段中前置以记号@的语句的频度为()。
i=1;k=0;while(i<n-1){@ k+=10*i;i++;}A.n B.n-1 C.n-2 D.n-33.线性表若采用链式存储结构时,要求内存可用存储单元的地址()。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以4.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区。
单项选择题:单项选择题共20道题,每题2分第1题:在一个具有n个结点的有序顺序表中插入一个新结点并仍然有序,时间复杂度是()。
A、O(1)B、O(n)C、O(logn)D、O(nlogn)第2题:n个顶点e条边的图,若采用邻接矩阵存储,则矩阵空间大小为()。
A、O(1)B、O(n)C、O(n+e)D、O(n^2)第3题:树的后根遍历序列等同于该树对应的二叉树的( )。
A. 先序序列B. 中序序列C. 后序序列D.层次序列第4题:若链队列Q用一带头结点的单链表表示,则元素e(其结点由指针p指向)的入队操作为()。
A.Q.rear->next=p;Q.rear=p;B.Q.rear=p;Q.rear->next=p;C.Q.front->next=p;Q.front=p;D.Q.front=p;Q.front->next=p;第5题:计算机算法指的是()。
A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法第6题:n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为()。
A、O(1)B、O(n)C、O(n+e)D、O(n^2)第7题:最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。
A. (Q.rear+1)%n=Q.frontB. Q.rear=Q.front C.Q.rear+1=Q.front D. (Q.rear-l)%n=Q.front第8题:算法分析的两个主要方面是()。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性第9题:一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )A.不确定 B. 0 C. 1 D. 2第10题:线性表L在()情况下适用于使用顺序结构实现。
A、经常对L进行删除B、经常对L进行插入C、经常访问L中的结点值D、 ABC第14题:一个无回路的AOV网有n个顶点e条边,拓扑排序的时间复杂度为()。
数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。
答案:升序排列的序列5. 栈的特点是_______进,_______出。
答案:后进,先出6. 图中两点间存在边则称它们为_______。
答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。
答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。
栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。
8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。
其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。
四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。
```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。
```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。
如果有不清楚的地方,欢迎随时向老师询问。
祝您考试顺利!。
数据结构试卷及参考答案(五)一、选择题(20分)1.数据的最小单位是()。
(A)数据项(B)数据类型(C)数据元素(D)数据变量2.设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。
(A)40,50,20,95(B)15,40,60,20(C)15,20,40,45(D)45,40,15,203.设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为()。
(A)15,25,35,50,20,40,80,85,36,70(B)15,25,35,50,80,20,85,40,70,36(C)15,25,35,50,80,85,20,36,40,70(D)15,25,35,50,80,20,36,40,70,854.函数substr(“DATASTRUCTURE”,5,9)的返回值为()。
(A)“STRUCTURE”(B)“DATA”(C)“ASTRUCTUR”(D)“DATASTRUCTURE”5.设一个有序的单链表中有n 个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为()。
(A)O(log 2n)(B)O(1)(C)O(n 2)(D)O(n)6.设一棵m 叉树中度数为0的结点数为N 0,度数为1的结点数为N l ,……,度数为m 的结点数为Nm,则N 0=()。
(A)N l +N 2+……+Nm (B)l+N 2+2N 3+3N 4+……+(m-1)Nm(C)N 2+2N 3+3N 4+……+(m-1)Nm (D)2N l +3N 2+……+(m+1)Nm7.设有序表中有1000个元素,则用二分查找查找元素X 最多需要比较()次。
(A)25(B)10(C)7(D)18.设连通图G 中的边集E={(a ,b),(a ,e),(a ,c),(b ,e),(e ,d),(d ,f),(f ,c)},则从顶点a 出发可以得到一种深度优先遍历的顶点序列为()。
数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是( 1.C )。
(A)数据项(B)数据类型(C) 数据元素(D)数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={〈1,2〉,<2,3>,〈3,4>,〈4,1〉},则数据结构A是( C ).(A)线性结构(B)树型结构 (C)图型结构(D)集合3.数组的逻辑结构不同于下列(D)的逻辑结构.(A)线性表(B)栈(C) 队列(D)树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。
(A) 2i (B) 2i(C) 2i—1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A ).(A) p-〉next=p—>next—〉next (B) p=p—〉next(C)p=p-〉next-〉next (D)p—〉next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(。
C ).(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C ).(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8。
B(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有( B)种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则( B )的空间复杂度最大.(A)冒泡排序(B) 快速排序(C)堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为 F =____________;.2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________。
数据构造试卷〔一〕三、计算题〔每题6 分,共24分〕1.在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。
A 0 1 2 3 4 5 6 7data 60 50 78 90 34 40next 3 5 7 2 0 4 12.请画出以下列图的邻接矩阵和邻接表。
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->next) p=p->next;S2:p->next=q;q->next=NULL;}return L;}请答复以下问题:〔1〕说明语句S1的功能;〔2〕说明语句组S2的功能;〔3〕设链表表示的线性表为〔a1,a2, …,a n〕,写出算法执行后的返回值所表示的线性表。
2.void ABC(BTNode * BT){if BT {ABC (BT->left);ABC (BT->right);cout<<BT->data<<' ';}}该算法的功能是:五、算法填空〔共8分〕二叉搜索树的查找——递归算法:bool Find(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);else return Find(_______________,item);}//if}六、编写算法〔共8分〕统计出单链表HL中结点的值等于给定值X的结点数。
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A)。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种(D )。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B )。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为(D )。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的____联系__________。
专科《数据结构》一、 (共75题,共150分)1。
数据的逻辑结构在计算机内部存储表示称为为数据的()。
(2分)A.数据结构 B。
逻辑关系C。
物理结构 D.数据元素的内部结构.标准答案:C2。
()是数据的不可分割的最小单位。
(2分)A.数据对象 B。
数据元素 C。
数据类型 D。
数据项。
标准答案:D3。
算法的时间复杂度是对算法()的度量。
(2分)A。
时间效率 B。
空间效率 C。
可读性 D.健壮性.标准答案:A4。
()是限制了插入和删除操作在一端进行的线性表。
(2分)A.栈 B。
队列 C。
串 D.数组。
标准答案:A5. 数组通常采用顺序存储的优点是()。
(2分)A.便于增加存储空间 B。
便于依据下标进行随机存取C。
避免数据元素的移动 D.防止下标溢出。
标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针()次。
(2分)A.1B.2 C。
3 D。
4.标准答案:D7。
线性表的顺序存储结构是一种()的存储结构. (2分)A。
顺序存取 B.随机存取 C.索引存取 D。
Hash存取。
标准答案:B8. 数组a[1。
256]采用顺序存储,a的首地址为10,每个元素占2字节,则a [21]的地址是()。
(2分)A。
10 B。
30 C。
50 D。
70.标准答案:C9。
深度为4的二叉树,第4层至少有()个结点。
(2分)A。
0 B。
1 C。
8 D。
15。
标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树. (2分)A。
10 B。
11 C。
20 D。
21.标准答案:A11。
下面叙述错误的是(). (2分)A.借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C。
对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1的个数等于对应的顶点度。
标准答案:C12. 以下与数据的存储结构无关的术语是(). (2分)A.循环队列B.双向链表 C。
判断题1.数据的逻辑结构与数据元素本身的内容和形式无关。
〔√〕2.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个根本运算集构成的整体。
〔√〕3.数据元素是数据的最小单位。
〔√〕4.数据的逻辑结构和数据的存储结构是相同的。
〔×〕5.程序和算法原那么上是没有区别的,所以在讨论数据结构时可以通用。
〔×〕6.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构。
〔√〕7.数据的存储结构是数据的逻辑结构的存储映像。
〔×〕8.数据的物理结构是指数据在计算机内实际的存储形式。
〔√〕9.数据的逻辑结构是依赖于计算机的。
〔×〕10.算法是对解题方法和的描述步骤。
〔√〕填空题:1.数据有逻辑结构和存储结构两种结构。
2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。
3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
4.树形结构和图形结构合称为非线性结构。
5.在树形结构中,除了树根结点以外,其余每个结点只有 1 个前驱结点。
6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。
7.数据的存储结构又叫物理结构。
8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。
9.线性结构中的元素之间存在一对一的关系。
10.树形结构中的元素之间存在一对多的关系。
11.图形结构的元素之间存在多对多的关系。
12.数据结构主要研究数据的逻辑结构、存储结构和算法〔或运算〕3个方面的内容。
13.数据结构被定义为〔D,R〕,其中D是数据的有限集合,R是D上的关系的有限集合。
14.算法是一个有穷指令的集合。
15.算法效率的度量可以分为事先估算和事后统计法。
16.一个算法的时间复杂性是算法输入规模的函数。
17.算法的空间复杂度是指该算法所消耗的存储空间,它是该算法求解问题规模n的函数。
18.假设一个算法中的语句频度之和为T〔n〕=6n+3nlog2n,那么算法的时间复杂度为O〔nlog2n 〕。
数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题1. 数据结构是指()。
A. 存储数据的方式B. 数据的逻辑结构和物理结构C. 数据的存储结构和存储方式D. 数据的逻辑结构、存储结构和存储方式答案:D2. 在数据结构中,线性表的存储方式包括()。
A. 顺序存储和链式存储B. 数组存储和链表存储C. 顺序存储、链表存储和索引存储D. 顺序存储、链表存储和树形存储答案:A3. 栈是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 队列是一种()的数据结构。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A5. 二叉树中,度为0的节点称为()。
A. 叶子节点B. 根节点C. 中间节点D. 子节点答案:A6. 以下哪个排序算法是稳定的?A. 快速排序B. 选择排序C. 插入排序D. 希尔排序答案:C7. 图中表示顶点之间关系的边的数量称为()。
A. 顶点度数B. 边数C. 路径数D. 网络答案:B8. 哈希表通过()来实现高效的查找操作。
A. 散列函数B. 排序算法C. 遍历操作D. 顺序存储答案:A9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。
A. 0B. 1C. 2D. 3答案:B10. 在链表中,删除节点的操作时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)答案:A二、填空题1. 在顺序存储结构中,元素之间的逻辑关系由()表示。
答案:下标2. 二叉查找树的中序遍历结果是一个()序列。
答案:递增3. 哈希表通过散列函数将关键字映射到()上。
答案:地址4. 图的邻接表中,每个顶点的所有邻接点链接成一个()。
答案:链表5. 位运算符中的左移和右移运算都是对二进制数进行()操作。
答案:移位三、解答题1. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。
答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。
数据结构试卷(E卷)班级:___________学号:___________姓名:___________得分:___________题目部分,(卷面共有48题,100分,各大题标有题量和总分)一、判断正误(7小题,共7分)1.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
()2.广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。
()3.用链表(llink-rlink)存储包含n个结点的二叉树时,结点的2n个指针区域中有n+1个空指针。
( )4.有n个数存放在一维数组A[1…n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同5.堆排序是稳定的排序方法。
()6.程序一定是算法。
( )7.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. ( ) 二、单项选择题(22小题,共46分)1.在非空双向循环链表中q所指的结点前插入一个由p所指的链结点的过程依次为: rlink(p) ← q; llink(p) ← llink(q); llink(q) ← p;A、rlink(q) ←pB、rlink(llink(q)) ←pC、rlink(llink(p)) ←pD、rlink(rlink(p)) ← p2.循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是A、 (rear-front+m)%mB、 rear-front+1C、 rear-front-1D、 rear-front 3.用链接方式存储的队列,在进行删除运算时A、仅修改头指针B、仅修改尾指针C、头、尾指针都要修改D、头、尾指针可能都要修改4.对于栈操作数据的原则是A、先进先出B、后进先出C、后进后出D、不分顺序5.设栈的输入序列为123 …..n,输出序列为a1,a2,a3,….a n,若存在1<=k<=n使得a k=n,则当k<=i<=n时,a i为A、n-i+1B、 n-(i-k)C、不确定6.设栈的输入序列是为1、2、3,4,则()不可能是其出栈序列。
数据结构考试试卷答案(B)
班级:_________学号__________姓名___________
(注意:试卷满分100,时间100分钟,请考生将答案做于试卷答题纸上,违者以零分处理)
一.单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)不写解答过程,将正确的答案写在每小题的空格内。
错填或不填均无分。
16.Free(u);
17.P->next->nex
18.进栈和出栈
19.n+1
20.n×(n-1)
21.384
22.i/2
23.e(i)=l(i)
24.2
25.队尾
三、解答题(本大题共3小题,共20分)
26.关键路径是:(1,v2,v4,v5,v7,v8);(v1,v3,v6,v7,v8)
关键活动是:a1 a2 a3 a5 a7 a8 a9 a10
可提前完成的关键活动是:a10
27.1)哈夫曼树是:
100
40 60
20 20 30 30
8 12 12 18
5 7
3 4
2) WPL=269
1 0 1 1 0 0
0 0 0 0 0 0
0 0 1 0 0 1
1 0 0 0 0 0
1 1 0 0 1 0
0 2 3
2 5
0 1 4
1 4 5
3
四.算法题。
(本大题共2小题,共20分,供参考)
29 status lastordertravertree(T,e)
{IniStack(S);P=T;
While(p||!stackempty(s))
{if(p) {push(s,p);p=p->LC;}
else{
pop(s,p);
if(p->RC&&!Visit(p->PC))
{
push(s,p);p=p->rc;
}else{
visit(p);p=NULL;}
}
}
}
30.BFSTravers(G,V)
{
for(v=0;v<G.vexnum;v++) visit[v]=false;
Initqueue(Q);
For(v=0;v<G.vexnum;v++)
If(!visited[v]){
Visited[v]=true;visit(v);
Enqueue(q,v);
While(!queueempty(q)){
Dequeue(q,u);
For(w=firstadjvex(g,u);w>=0;w=nextadjvex(g,u,w))
If(!visited[w]){
Visited[w]=true;visit(w);enqueue(q,w);} }
}。