福建农林大学数据结构考试试卷1
福建农林大学考试试卷 (A)卷
福建农林大学考试试卷(A)卷2007——2008 学年第二学期课程名称:数据结构考试时间120分钟计算机科学技术专业2006 年级班学号姓名一、单项选择题(本大题共10小题,每小题2分,共20分)1. 顺序栈中压入元素时,是()。
A)先存入元素后移动指针B)先移动指针后存入元素C)无所谓谁先谁后D)同时进行2. 线性表的顺序存储结构是一种()的存储结构。
A) 随机存取B) 顺序存取C) 索引存取D) HASH存取3.若一个栈的输入序列是1,2,3…n,输出序列的第一个元素是n,则第i个输出元素是()。
A)不确定B)n-i C)n-i+1 D)i4. 在以下的叙述中,正确的是()。
A) 线性表的线性存储结构优于链表存储结构B) 二维数组是它的每个数据元素为一个线性表的线性表C) 栈的操作方式是先进先出D) 队列的操作方式是先进后出5.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()。
A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca6. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。
结论()是正确的。
A) 树的先根遍历序列与其对应的二叉树的后序遍历序列相同B) 树的后根遍历序列与其对应的二叉树的后序遍历序列相同C) 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D) 树的后根遍历序列与其对应的二叉树的中序遍历序列相同7.时间复杂度均为O(nlog2n)且不稳定的排序方法是()。
A)快速排序B)选择排序C)归并排序D)冒泡排序8.用邻接表存储的图的深度优先遍历算法类似于二叉树的()。
A)先序遍历B)中序遍历C)后序遍历D)层次遍历9.堆排序的时间复杂度为()。
A)O(n2) B)O(log2n) C)O(n) D)O(nlog2n) 10.已知Huffman树的总结点数为m,叶子数为n。
福建农林大学数据结构考点&复习资料
第一章基本概念一般考选择题,概念题第二章基本概念一般考选择题,概念题第三章基本概念一般考选择题,概念题第四章树的基本概念一般考选择题,概念题考点:二叉树的非递归的遍历加上层次遍历哈夫曼编码一般考综合分析题第五章图的基本概念一般考选择题,概念题考点:图的深度和广度优先一般考程序填空题Dijkstra 和prim算法(二选一考)考综合分析题以及这两种算法的数组第七章索引(查找)的基本概念一般考选择题,概念题考点:求ASL=?折半查找一般考程序填空题BBST一般考综合分析题平衡二叉树第八章排序的基本概念一般考选择题,概念题考点:快速排序,堆排序,归并排序一般考程序填空题快速排序,堆排序一般考综合分析题红色是八分题题型一、选择题20分二、概念题20分三、程序题题20分四、综合分析题40分选择题&填空题五、时间复杂度总结六、各种排序算法时间、空间复杂度七、直接插入排序:原始数据元素集合越接近有序,该算法效率越高,时间复杂度为O(n)~ O(n2),空间复杂度O(1)(可以改进为稳定排序算法)八、希尔排序:分成若干小组,小组内部用直接插入排序。
时间复杂度为O(n(lbn)2),空间复杂度O(1)九、理论依据是:待排数据集合越接近有序,直接插入排序算法效率越高。
希尔排序就是尽量使得待排集合变得有序。
(不稳定算法)十、直接选择排序:定位最小值元素,即把最小的放在第零个位置,然后在剩下的元素中选择最小的放在第一个元素,以此类推。
时间复杂度为O(n2),空间复杂度为O(1)。
(稳定算法)十一、堆排序:(1)、以当前元素创建最大堆;(2)、进行堆排序,首先,使第0个元素和最后一个元素交换位置;再次,使堆元素个数减1;最后,调整堆使之保持为最大堆。
时间复杂度为:O(nlbn)【完全二叉树的深度为lbn】,空间复杂度为O(1)。
(不稳定)十二、冒泡排序:相邻两个数据元素交换,时间复杂度O(n)~O(n2),空间复杂度为O(1)。
(完整word版)数据结构试题集(包含答案完整版)
第一章概论一、选择题1、研究数据结构就是研究(D )。
A. 数据的逻辑结构B。
数据的存储结构C. 数据的逻辑结构和存储结构D。
数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A。
空间复杂度和时间复杂度 B. 正确性和简单性C。
可读性和文档性D。
数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A。
图B。
树C。
广义表D。
栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B。
可执行性、有穷性和确定性C。
确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j〈n;j++)a[i][j]=i*j;A. O(m2) B。
O(n2) C。
O(m*n) D. O(m+n)6、算法是(D )。
A。
计算机程序 B. 解决问题的计算方法C。
排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A。
O(n) B. O(nlog2n) C。
O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。
O(3n) C。
O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B。
关系C。
运算D。
算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n) B。
O(n2)C。
O(log2n)D。
O(n3)11、抽象数据类型的三个组成部分分别为(A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
(2)--数据结构试卷1答案
满足:
T
(n)
2T
(n
O(1) / 2)
O(n)
n 1 n 1
可得T (n) O(n log n)
第 1 页共 4 页
试卷答案网课刷课代刷完成flyingjgh
2、 初始堆(3 分)
删除最大元素后的堆(3 分)
3、 ( 6 分 ) 反 例 ( 不唯一) :如下图所示,源点为 V1,Dijkstra 算法结束时, dist[3]=1;dist[2]=2 而实际 dist[3]应该为 0。
(1) 置 M 为空集;(1 分) (2) 找出一条关于 M 的增广路径 P,并用 M⊕P 代替 M;(2 分) (3) 重复步骤(2)直至不存在关于 M 的增广路径,最后得到的匹配就是 G 的一 个最大匹配。(1 分)
7、证明:设 n1 为二叉树 T 中度为 1 的结点数 ∵二叉树中所有结点的度均小于或等于 2
int j=q.front();q.pop();// 删除孤独者 if(--c[f[j]]==0)q.push(f[j]);// 新增孤独者入队 } for(int i=0;i<n;i++) if(c[i]==1){cout<<i<<endl;ans++;}// 输出最大和谐子社团 return ans; }
4、一条边 1 分,全对得 6 分。
5、
(3 分)在等概率情况下,该表成功的平均查找长度如下: ( 1×5+ 2×1+ 3×1+ 4×1+ 6×1) /9= 20/9
6、 最 大 匹 配 的 增 广 路 径 算 法 如 下 :
第 2 页共 4 页
试卷答案网课刷课代刷完成flyingjgh
设 M 是图 G 的一个匹配,将 M 中每边所关联的顶点称为已匹配顶点,其余 顶点称为未匹配顶点。若 p 是图 G 中一条连通 2 个未匹配顶点的路径,并且在路径 p 上属于 M 的边和不属于 M 的边交替出现,则称 p 为一条关于 M 的增广路径。 (2 分)
(完整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、从逻辑上可以把数据结构分为( )两大类。
(完整版)数据结构试题及答案
(完整版)数据结构试题及答案《数据结构》⾃考复习思考试题○10⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1. 若将数据结构形式定义为⼆元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发⽣变化的操作是( )A. 出队B. ⼊队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进⾏,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采⽤的两种存储⽅式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进⾏的⽆效位移次数为( )A. mB. n-mC. n-m+1D. n8. ⼆维数组A[12][18]采⽤列优先的存储⽅法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( )A. 429B. 432.C. 435D. 4389. 对⼴义表L=((a,b),(c,d),(e,f))执⾏操作tail(tail(L))的结果是( )A. (e,f)B. ((e,f))C. (f)D. ( )10. 下列图⽰的顺序存储结构表⽰的⼆叉树是( )11. n个顶点的强连通图中⾄少含有( )A. n-1条有向边B. n条有向边C. n(n-1)/2条有向边D. n(n-1)条有向边12. 对关键字序列(56,23,78,92,88,67,19,34)进⾏增量为3的⼀趟希尔排序的结果为( )A. (19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C. (19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)13. 若在9阶B-树中插⼊关键字引起结点分裂,则该结点在插⼊前含有的关键字个数为( ) A. 4 B. 5C. 8D. 914. 由同⼀关键字集合构造的各棵⼆叉排序树( )A. 其形态不⼀定相同,但平均查找长度相同B. 其形态不⼀定相同,平均查找长度也不⼀定相同C. 其形态均相同,但平均查找长度不⼀定相同.D. 其形态均相同,平均查找长度也都相同15. ISAM⽂件和VSAM⽂件的区别之⼀是( )A. 前者是索引顺序⽂件,后者是索引⾮顺序⽂件B. 前者只能进⾏顺序存取,后者只能进⾏随机存取C. 前者建⽴静态索引结构,后者建⽴动态索引结构D. 前者的存储介质是磁盘,后者的存储介质不是磁盘⼆、填空题(本⼤题共10⼩题,每空2分,共20分)16. 数据的逻辑结构在计算机存储器内的表⽰,称为数据的____________。
大学计算机《数据结构》试卷及答案
大学计算机《数据结构》试卷及答案一、选择题(20分)1.组成数据的基本单位是()。
(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是()。
(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列()的逻辑结构。
(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有()个。
(A) 2i (B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。
(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的容量至少应该是()。
(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。
(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。
(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有()种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则()的空间复杂度最大。
(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。
福建农林大学数据结构考试试卷3(附答案)
福建农林大学考试试卷评分标准(A)卷2007 ——2008 学年第一学期课程名称:数据结构考试时间:120分钟专业年级班学号姓名一、选择题(每小题1分,共20分)C)。
A. 便于随机存取B. 存储的密度较高C. 便于元素的插入和删除操作D. 元素的物理顺序与逻辑顺序一致2、在长度为n的顺序表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需向后移动(B)个元素。
A. n-1B. n-k+1C. n-k-1D. k3、设用一维数组S存储一个栈,令S[n-1]为栈底,变量top表示当前栈顶的位置(下标),即S[top]为栈顶元素。
则,元素出栈后top应做如下(B)的修改。
A. top--;B. top++;C. top = n-1;D. top = -1;4、上一题中,栈满的条件表达式应为(C)。
A. top==nB. top==n-1C. top==0D. top==-15、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6先后进入栈S,一个元素出栈后即进入队列Q,若6个元素的出队顺序是e2,e4,e3,e6,e5,e1,则栈S至少可以容纳(A)个元素。
A. 3B. 4C. 5D. 66、设有一个大小为m的数组queue表示循环队列,若f表示当前队头元素在数组中的位置,r表示队尾元素的后一位置(按顺时针方向),则计算队列中元素个数的表达式为(D)。
A. r-fB. (m-f-r) % mC. (m+f-r) % mD. (m+r-f) % m7、深度为5的二叉树至多有(B)个结点。
A. 30B. 31C. 32D. 638、设二叉树中任一结点的值大于它的左子树中每个结点的值,而小于右子树中每个结点的值,即是一个二叉排序树。
若要获取该二叉树中所有结点的值的递增序列,应采用下列(B )的方法遍历二叉树。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历 9、由3个结点可以构成(C )棵形态不同的二叉树。
《数据结构》-1自考试卷及答案
《数据结构》-1一、判断题 (每小题1分,共10分)1、线性表的逻辑顺序与物理顺序总是一致的。
( )2、线性表只能采用顺序存储结构或者链式存储结构。
( )3、线性表的顺序存储表示优于链式存储表示。
( )4、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。
( )5、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( )6、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
( )7、一般树和二叉树的结点数目都可以为0。
( )8、序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。
( )9、每种数据结构都应具备三种基本运算:插入、删除和搜索。
( )10、若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。
( )二、单项选择题 (每小题2分,共20分)1、算法分析的目的是( )A.研究算法的输入与输出之间的关系B.找出数据结构的合理性C.分析算法的效率以求改进算法D.分析算法的可读性与可移植性2、已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作( )A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;3、图的深度优先搜索类似于树的()次序遍历。
A.先根B.中根C.后根D.层次4、一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列()A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,15、若深度为5的完全二叉树的第5层有3个叶结点,则该二叉树一共有( )个结点。
A.15B.16C.17D.186、下列排序方法中,哪一种方法的比较次数与纪录的初始排列状态无关()A. 直接插入排序B. 起泡排序C. 快速排序D. 直接选择排序7、对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果依次为:第一趟:13,72,68,49,38 ,50,97,27;第二趟:13,27,68,49,38,50,97,72;第三趟:13,27,38,49,68,50,97,72;该排序采用的方法是( )A.插入排序法B.选择排序法C.冒泡排序法D.堆积排序法8、对于循环队列,存储空间大小为n,头指针为F,尾指针为R。
(完整版)数据结构试题及答案
数据结构试卷(一)王彬一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
cA.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( c d)个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:____ ____、________、________和_______。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构试题(含答案)
数据结构试题(含答案)数据结构试题(含答案)一、选择题1. 数据结构是计算机科学中的一个重要概念。
下列选项中,不属于数据结构的是:A. 数组B. 栈C. 数据库D. 链表答案:C2. 在数据结构中,栈(Stack)是一种后进先出(LIFO)的数据结构。
下列操作中,不属于栈的是:A. 入栈B. 出栈C. 遍历D. 清空栈答案:C3. 链表(Linked List)是一种常见的数据结构,它由一系列节点组成,每个节点包含两个部分:数据和指向下一个节点的指针。
下列选项中,不属于链表的是:A. 单链表B. 双链表C. 循环链表D. 二叉树答案:D4. 哈希表(Hash Table)是一种根据关键码直接访问存储位置的数据结构。
下列选项中,不属于哈希表的优点是:A. 快速查找B. 插入和删除操作效率高C. 数据无序D. 冲突较少答案:C二、填空题1. 树(Tree)是一种非线性数据结构,它由一组以边连接的节点组成。
树中每个节点最多可以有________个子节点。
答案:无限制/任意个2. 图(Graph)是由节点和连接节点的边组成的数据结构。
图中节点的度是指与该节点相连接的边的________。
答案:数量3. 广度优先搜索(BFS)和深度优先搜索(DFS)是常用的图遍历算法。
在BFS中,使用________结构来保存待访问的节点。
答案:队列4. 在二叉搜索树(Binary Search Tree)中,左子树中的每个节点的值都小于根节点的值,右子树中的每个节点的值都大于根节点的值。
这种特性称为_______________。
答案:二叉搜索树性质三、简答题1. 请简要说明线性数据结构和非线性数据结构的区别。
答案:线性数据结构是指数据元素之间存在一对一的线性关系,例如数组、栈、队列等;而非线性数据结构是指数据元素之间存在一对多或多对多的关系,例如树、图等。
线性数据结构的存储方式是连续的,非线性数据结构的存储方式是离散的。
数据结构考试试题库含答案解析
完美 WORD 格式数据结构习题集含答案目录目录1选择题2第一章绪论 .2第二章线性表.4第三章栈和队列.6第四章串.7第五章数组和广义表8第六章树和二叉树8第七章图.11第八章查找.13第九章排序.14简答题19第一章绪论 .19第二章线性表.24第三章栈和队列.26第四章串.28第五章数组和广义表29第六章树和二叉树31第七章图.36第八章查找.38第九章排序.39编程题41第一章绪论 .41第二章线性表.41第三章栈和队列.52第四章串.52第五章数组和广义表52第六章树和二叉树52第七章图.52第八章查找.52第九章排序.57选择题第一章绪论1.数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2.数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学生成绩表中查得X三同学的各科成绩记录,其中数据结构考了 90分,那么下面关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学生成绩表是数据元素,90分是数据项B、某班级的学生成绩表是数据对象,90分是数据元素C、某班级的学生成绩表是数据对象,90分是数据项D、某班级的学生成绩表是数据元素,90分是数据元素4.* 数据结构是指( A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6.算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7.算法分析的主要方法( A )。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题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. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (1)选择题 (2)第一章绪论. (2)第二章线性表. (4)第三章栈和队列. (6)第四章串. (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图. (11)第八章查找. (13)第九章排序. (14)简答题 (19)第一章绪论. (19)第二章线性表. (24)第三章栈和队列. (26)第四章串. (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图. (36)第八章查找. (38)第九章排序. (39)编程题 (41)第一章绪论. (41)第二章线性表. (41)第三章栈和队列. (52)第四章串. (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图. (52)第八章查找. (52)第九章排序. (57)选择题第一章绪论1. 数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题 B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系 B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是( C )A、某班级的学生成绩表是数据元素,90 分是数据项B、某班级的学生成绩表是数据对象,90 分是数据元素C、某班级的学生成绩表是数据对象,90 分是数据项D、某班级的学生成绩表是数据元素,90 分是数据元素4. *数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7. 算法分析的主要方法( A )。
数据结构本科试题及答案
数据结构本科试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,以下哪个选项是线性结构的特点?A. 有且仅有一个根节点B. 有且仅有一个首元素和一个末元素C. 元素之间存在一对一的对应关系D. 元素之间存在一对多的对应关系答案:C2. 以下哪个算法不是排序算法?A. 冒泡排序B. 快速排序C. 深度优先搜索D. 选择排序答案:C3. 在二叉树中,以下哪个操作不是基本操作?A. 查找B. 插入C. 删除D. 反转答案:D4. 以下哪个数据结构不是非线性结构?A. 链表B. 树C. 图D. 数组答案:D5. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构?A. 队列B. 栈C. 树D. 集合答案:B6. 哈希表解决冲突的方法之一是开放定址法,其基本思想是什么?A. 将冲突的元素存储在其他位置B. 将冲突的元素删除C. 将冲突的元素存储在数组的末尾D. 将冲突的元素存储在数组的开头答案:A7. 以下哪个算法不是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 迪杰斯特拉算法D. 快速排序答案:D8. 在二叉搜索树中,以下哪个操作的时间复杂度不是O(log n)?A. 查找B. 插入C. 删除D. 打印所有元素答案:D9. 以下哪个不是堆的性质?A. 每个节点的值都大于其子节点的值B. 可以是完全二叉树C. 可以是二叉搜索树D. 可以是最小堆或最大堆答案:C10. 在数据库中,以下哪个操作不是关系代数的基本操作?A. 选择B. 投影C. 连接D. 排序答案:D二、多项选择题(每题3分,共15分)1. 下列哪些是图的存储结构?A. 邻接矩阵B. 邻接表C. 树D. 链表答案:A B2. 在数据结构中,以下哪些是动态数据结构?A. 数组B. 链表C. 栈D. 队列答案:B C D3. 以下哪些算法是时间复杂度为O(n)的?A. 线性查找B. 插入排序C. 归并排序D. 快速排序答案:A4. 在数据库中,以下哪些是关系数据库的完整性约束?A. 实体完整性B. 参照完整性C. 用户定义完整性D. 索引完整性答案:A B C5. 以下哪些是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 哈希排序D. 堆排序答案:A B三、简答题(每题5分,共20分)1. 请简述链表和数组的区别。
福建农林大学近十年数据结构自命题
福建农林大学近十年数据结构自命题一、数据结构的有关概念1.掌握数据结构的有关概念,理解逻辑结构与物理结构之间的关系。
2.掌握数据结构的几种基本结构。
3.掌握抽象数据类型的表示与实现方法。
4.熟悉算法分析的分析方法。
二、线性表1.掌握线性表的顺序存储方法及链式存储方法。
2.熟悉线性表的建立、插入、删除、搜索与归并算法。
3.了解一元多项式的表示方法及其应用。
三、栈和队列1.掌握栈和队列的顺序存储方法及链式存储方法。
2.熟悉进栈、出栈、进队、出队的实现方法。
3.栈和对列的简单应用。
4.递归的实现。
四、串1.掌握串的有关概念,了解顺序存储方法及链式存储方法。
2.了解串的有关操作的实现方法。
3.了解串的模式匹配算法。
4.串的简单应用。
五、数组与广义表1.掌握数组的顺序存储方法及矩阵的压缩存储方法。
2.掌握矩阵的转置算法和矩阵的相加算法的实现。
3.了解广义表在m元多项式中的简单应用。
六、树和二叉树1.熟悉树和二叉树的有关定义,掌握二叉树的顺序存储结构和链式存储结构的实现方法。
2.掌握二叉树的建立及二叉树的几种遍历算法,了解树和森林的遍历方法。
3.了解最优二叉树和哈夫曼树的应用。
4.其他简单应用。
七、图1.熟悉图的有关定义,掌握图的数组存储结构和邻接表存储结构的实现方法。
2.了解图的深度优先遍历算法和广度优先算法。
3.了解最小生成树、拓扑排序、关键路径的有关算法。
4.其他简单应用。
八、查找1.掌握静态查找表的几种查找方法。
2.掌握哈希表的构造方法及其冲突处理方法。
九、内部排序和外部排序1.掌握内部排序和外部排序的概念。
2.熟悉插入排序、选择排序及常用的几种排序方法。
能分析几种常用的排序算法的时间复杂度与空间复杂度。
(完整word版)福建农林大学数据结构考试试卷3(附答案)
福建农林大学考试试卷评分标准(A)卷2007 ——2008 学年第一学期课程名称:数据结构考试时间:120分钟专业年级班学号姓名一、选择题(每小题1分,共20分)C)。
A. 便于随机存取B. 存储的密度较高C. 便于元素的插入和删除操作D. 元素的物理顺序与逻辑顺序一致2、在长度为n的顺序表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需向后移动(B)个元素。
A. n-1B. n-k+1C. n-k-1D. k3、设用一维数组S存储一个栈,令S[n-1]为栈底,变量top表示当前栈顶的位置(下标),即S[top]为栈顶元素。
则,元素出栈后top应做如下(B)的修改。
A. top--;B. top++;C. top = n-1;D. top = -1;4、上一题中,栈满的条件表达式应为(C)。
A. top==nB. top==n-1C. top==0D. top==-15、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6先后进入栈S,一个元素出栈后即进入队列Q,若6个元素的出队顺序是e2,e4,e3,e6,e5,e1,则栈S至少可以容纳(A)个元素。
A. 3B. 4C. 5D. 66、设有一个大小为m的数组queue表示循环队列,若f表示当前队头元素在数组中的位置,r表示队尾元素的后一位置(按顺时针方向),则计算队列中元素个数的表达式为(D)。
A. r-fB. (m-f-r) % mC. (m+f-r) % mD. (m+r-f) % m7、深度为5的二叉树至多有(B)个结点。
A. 30B. 31C. 32D. 638、设二叉树中任一结点的值大于它的左子树中每个结点的值,而小于右子树中每个结点的值,即是一个二叉排序树。
若要获取该二叉树中所有结点的值的递增序列,应采用下列(B)的方法遍历二叉树。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历9、由3个结点可以构成(C)棵形态不同的二叉树。
福建农林大学系统结构计算题
题型一:〔一〕〔五〕〔六〕题型二:〔二〕〔七〕题型三:〔三〕〔四〕题型四:〔八〕〔九〕〔十〕〔十一〕〔十二〕〔十三〕〔十四〕〔十五〕题型五:〔十六〕〔十七〕〔十八〕题型六:〔十九〕〔二二〕〔二三〕〔二五〕〔二六〕〔二七〕〔二八〕其他题型考选择题:〔二十〕〔二一〕〔二四〕〔二九〕〔三十〕〔一〕【7-6】由霍纳法则给定的表达式如下:E=a(b+c(d+e(f+gh))) 利用减少树高的方法来加速运算,要求:(1)画出树形流程图。
(2)确定T P、P、S P、E P的值。
解:〔1〕假设用单处理机处理,T1=7,改成E=ace(f+gh)+a(b+cd),其计算的树形流程图如附图46所示。
(2)P=3;T P=4;S P=T1/T P=7/4;E P=S P/P=7/12〔二〕【6-2】设向量长度均为64,在CRAY-1机上所用浮点功能部件的执行时间分别为:相加6拍,相乘7拍,求倒数近似值14拍;在存储器读数6拍,打入存放器及启动功能部件各1拍。
问以下各指令组的哪些指令可以?哪些指令不可?不能的原因是什么?分别计算出各指令全部完成所需的拍数。
(1)V0←存储器〔2〕V2←V0×V1V1←V2+V3 V3←存储器V4←V5×V6 V4←V0+ V3(3)V0←存储器〔4〕V0←存储器V2←V0×V1 V1←1/ V0V3←V2+ V0 V3←V1×V2V5←V3+ V4 V5←V3+ V4解:〔1〕三条全并行,完成时间为72拍〔2〕一、二条并行,第三条,完成时间为80拍〔3〕第一条第二条,与第三条串行,与第四条串行,完成时间为222拍〔4〕全,完成时间为104拍〔三〕【例5-3】在一个4段的流水线处理机上需经7拍才能完成一个任务,其预约表如表5-2所示。
表5-2 7拍才能完成一个任务的预约表分别写出延迟制止表F、冲突向量C;画出流水线状态转移图;求出最小平均延迟及流水线的最大吞吐率及其调度时的最正确方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建农林大学考试试卷(A)卷
2007——2008 学年第二学期
课程名称:数据结构考试时间120分钟
专业年级班学号姓名
一、单项选择题(本大题共10小题,每小题2分,共20分)
1. 顺序栈中压入元素时,是()。
A)先存入元素后移动指针B)先移动指针后存入元素
C)无所谓谁先谁后D)同时进行
2. 线性表的顺序存储结构是一种()的存储结构。
A) 随机存取B) 顺序存取C) 索引存取D) HASH存取
3.若一个栈的输入序列是1,2,3…n,输出序列的第一个元素是n,则第i个输出元素是()。
A)不确定B)n-i C)n-i+1 D)i
4. 在以下的叙述中,正确的是()。
A) 线性表的线性存储结构优于链表存储结构
B) 二维数组是它的每个数据元素为一个线性表的线性表
C) 栈的操作方式是先进先出D) 队列的操作方式是先进后出
5.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()。
A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca
6. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。
结论()是正确的。
A) 树的先根遍历序列与其对应的二叉树的后序遍历序列相同
B) 树的后根遍历序列与其对应的二叉树的后序遍历序列相同
C) 树的先根遍历序列与其对应的二叉树的中序遍历序列相同
D) 树的后根遍历序列与其对应的二叉树的中序遍历序列相同
7.时间复杂度均为O(nlog2n)且不稳定的排序方法是()。
A)快速排序B)选择排序C)归并排序D)冒泡排序
8.用邻接表存储的图的深度优先遍历算法类似于二叉树的()。
A)先序遍历B)中序遍历C)后序遍历D)层次遍历
9.堆排序的时间复杂度为()。
A)O(n2) B)O(log2n) C)O(n) D)O(nlog2n) 10.已知Huffman树的总结点数为m,叶子数为n。
则m与n 的关系是()。
A) m = 2n + 1 B) m = n + 1 C) m = 2n – 1 D) m = n - 1
二、填空题(本大题共20个空,每空2分,共40分)
1.在一个长度为n的线性表中删除第i个元素(1≤i≤n),需向前移动个元素。
2. 下面程序段的时间复杂度是。
long i=1 , s=0.0; while (s<n) { s=s+i; i++;}
3. 广义表(a,(a,b),d,e,(h,((i,j),k),g))深度是。
4. 用折半查找方法从长度为11的有序表中查找一个元素时,平均查找长度为。
5.连通无向图中有n个顶点e条边,进行最小生成树的prim算法时间复杂度是。
6.图的广度优先遍历算法利用队列来完成,图的深度优先遍历算法利来完成。
7.一棵二叉排序树上按方式进行遍历,会得到一个已排序好的结点序列。
8.线性表长度为n,排序码位数为d,基数为b,进行基数排序时间复杂度是。
9.对长度为n的线性表进行分块查找,其ASL的最小值是。
10.线性表长度为n,对其进行归并排序时间复杂度是。
以下为算法填空
11.二叉树用以下静态二叉链表作为存储结构
#define n0 100 //数组最大下标
#define datatype char
struct node
{ datatype data;
int lch,rch; //lch指向左子树,rch指向右子树
} tree[n0+l];
int root; //根结点指针
下面是先序遍历二叉树的非递算法。
一维数组s作为栈,t为栈顶指针。
void preorder()
{ int s[n0+l],t= ;
int p=root;
while(p || )
if( p )
{ printf(“%c”, )
s[++t]= tree[p].rch;
p= tree[p]. ;
}
else p=s[ ];
}
12. 以下mergeSort是归并排序算法,merge是将两个相邻有序表归并的算法,mergepass 是一趟归并的算法,填空完成算法。
void meger(Element R[], Element S[], int a, int b, int c)
{ int i=a, j=b+1, k=a;
while( i<=b && j<=c ) if( R[i].key<R[j].key ) S[k++]=R[i++]; else S[k++]=R[j++]; while(i<=b)S[k++]=R[i++]; while(j<=c)S[k++]=R[j++];
}
void megerPass(Element R[], Element S[], int m)
{ int i=1;
while()
{ meger(R, S, i, i+m-1, i+2*m-1 );
i += ;
}
if(i+m-1<n) meger(R, S, );
else while( i<=n) S[i]=;
}
void megerSort()
{ Element S[n0+1];
int m=1;
while(m<n)
{ megerPass(R,S,m);
m*=2;
m*=2;
}
三、综合分析题(本大题共5小题,每小题8分,共40分)
1.假设用于通信的电文仅由8个字母a,b,c,d,e,f, g, h
组成,各字母的使用频率分别为16,3,9,8,4,10, 5, 6
请画出本问题的哈夫曼树(左孩子权值小于右孩子),并为这8个字母设计哈夫曼编码。
(只写结果,不画出构造过程)
2.对下图所给的带权有向图执行dijkstra算法,求顶点v1到其余顶点的最短路径,试写出算法执行过程中辅助数组dist和path的变化情况,并写出最短路径结果。
1
2
3
4
5
6
1进入第1组
3.有8个数:18,19,3,8,25,35,26,6 写出第一趟快速排序的分组过程。
4.有10个数:29, 38, 17,15,8,39,3,32,33,36 初始化堆(要求成为大根堆),并写出前2趟堆排序的过程。
将11个结点的关键字1,12,13, 6, 10, 4, 8, 3, 14, 11, 7 顺序依次
ASL。
(原
二叉树是一空树)。