福建农林大学数据结构考试试卷1

合集下载

福建农林大学考试试卷 (A)卷

福建农林大学考试试卷 (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版)数据结构试题集(包含答案完整版)

(完整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答案

(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文档良心出品)

(完整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(附答案)

福建农林大学数据结构考试试卷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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

(原
二叉树是一空树)。

相关文档
最新文档