收藏 分销(赏)

数据结构期末考试试卷.doc

上传人:鼓*** 文档编号:12148863 上传时间:2025-09-17 格式:DOC 页数:5 大小:48.50KB 下载积分:8 金币
下载 相关 举报
数据结构期末考试试卷.doc_第1页
第1页 / 共5页
数据结构期末考试试卷.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
数据结构期末试卷 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-1 5.设指针变量p指向单链表结点A,则删除结点A得后继结点B需要得操作为( )。 ﻩ(A) p->next=p->next—〉nextﻩ(B) p=p-〉next (C) p=p->next->nextﻩ(D) p->next=p 6.设栈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) 2 7。将10阶对称矩阵压缩存储到一维数组A中,则数组A得长度最少为(  )。 (A) 100 (B) 40 (C) 55ﻩ(D) 80 8。设结点A有3个兄弟结点且结点B为结点A得双亲结点,则结点B得度数数为( )。 (A) 3 (B) 4ﻩ(C) 5ﻩ(D) 1 9。根据二叉树得定义可知二叉树共有( )种不同得形态。 ﻩ(A) 4 (B) 5ﻩ(C) 6 (D) 7 10. 10、 设有以下四种排序方法,则(   )得空间复杂度最大。 ﻩ(A) 冒泡排序 (B) 快速排序ﻩ(C) 堆排序 (D) 希尔排序  二、填空题 1. 设顺序循环队列Q[0:m-1]得队头指针与队尾指针分别为F与R,其中队头指针F指向当前队头元素得前一个位置,队尾指针R指向当前队尾元素所在得位置,则出队列得语句为F =___________;。 2. 设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找得平均时间复杂度为_____,在链式存储结构上实现顺序查找得平均时间复杂度为_________. 3. 设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指针域,________个空指针域。 4. 设指针变量p指向单链表中结点A,指针变量s指向被插入得结点B,则在结点A得后面插入结点B得操作序列为 s-〉next=p—>next; s->next=s_________________。 5. 设无向图G中有n个顶点与e条边,则其对应得邻接表中有_________个表头结点与_________个表结点。 6. 设无向图G中有n个顶点e条边,所有顶点得度数之与为m,则e与m有______关系。 7 设一棵二叉树得前序遍历序列与中序遍历序列均为ABC,则该二叉树得后序遍历序列为__________。 8    设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右得顺序从1开始顺序编号,则编号为8得双亲结点得编号就是___________,编号为8得左孩子结点得编号就是_____________。 9、        下列程序段得功能实现子串t在主串s中位置得算法,要求在下划线处填上正确语句。 int index(char s[ ], char t[ ]) { i=j=0; while(i<strlen(s) && j<strlen(t)) if(s[i]==t[j]){i=i+l; j=j+l;}else{i=_______; j=______;} if (j==strlen(t))return(i-strlen(t));else return (-1); } 10 设一个连通图G中有n个顶点e条边,则其最小生成树上有________条边。 三 判断题 1、 顺序存储方式得优点就是存储密度大,且插入、删除运算效率高.( ) 2、 若输入序列为1,2,3,4,5,6,用栈可以输出序列1,5,4,6,2,3.( ) 3、 数据得逻辑结构就是指数据得各数据项之间得逻辑关系。(  ) 4、 中序遍历一棵二叉排序树得结点就可得到排好序得结点序列。(  ) 5、 在n个结点得无向图中,若边数大于n-1,则该图必就是连通图。(  ) 6、 归并排序在任何情况下都比所有简单排序速度快。( ) 7、 栈与队列得存储方式,既可以就是顺序方式,又可以就是链式方式。( ) 8、 完全二叉树中,若一个结点没有左孩子,则它必就是树叶。( ) 9、 不同得求最小生成树得方法最后得到得生成树就是相同得。(  ) 10、 采用线性探测法处理散列时得冲突,当从哈希表删除一个记录时,不应将这个记录得所在位置置空,因为这会影响以后得查找。( ) 四、应用题 1.设完全二叉树得顺序存储结构中存储数据ABCDE,要求给出该二叉树得链式存储结构并给出该二叉树得前序、中序与后序遍历序列。 2.设给定一个权值集合W=(3,5,7,9,11),要求根据给定得权值集合构造一棵哈夫曼树并计算哈夫曼树得带权路径长度WPL。 3。设一组初始记录关键字序列为(19,21,16,5,18,23),要求给出以19为基准得一趟快速排序结果以及第2趟直接选择排序后得结果。 4.设一组初始记录关键字集合为(25,10,8,27,32,68),散列表得长度为8,散列函数H(k)=k mod 7,要求分别用线性探测与链地址法作为解决冲突得方法设计哈希表。 5.设无向图G(所右图所示),要求给出该图得深度优先与广度优先遍历得序列并给出该图得最小生成树。  五、算法设计题 1. 设计判断单链表中结点就是否关于中心对称算法。 2. 设计在链式存储结构上设计直接插入排序算法 3   设计算法实现按层次遍历(遍历操作定义为打印结点得data域)二叉树。二叉树得存储结构描述同上题,在算法中可能要使用一个队列Q,其相关操作:(编程题) Iniqueue(Q) 置队列空操作 Empty(Q) 判空函数 Enqueue(Q,x) 入队列操作 Dlqueue(Q) 出队列操作 4   设计判断一棵二叉树就是否就是二叉排序树得算法。 数据结构模拟试卷(B卷)参考答案  一、选择题 1、Cﻩﻩ2、C ﻩ3、D 4、Cﻩﻩ5、A 6、C ﻩ7、Cﻩﻩ8、Bﻩ 9、Bﻩ 10、B  二、填空题 1、        (F+1) % m        2、        O(n),O(n) 3、        2n,n+1 4、        s—>next=p—〉next; s->next=s 5、        n, 2e         6、        m=2e 7、        CBA         8、        4,16 9、        i—j+1,0     10、    n-1 三 判断题 1、 X  2  X、 3 、 X 4 、 √  5 、 X  6 、 X   7、 √  8 、 √ 9、 √ 10、 √ 四、应用题 1、   链式存储结构略,前序ABDEC,中序DBEAC,后序DEBCA。 2、   哈夫曼树略,WPL=78 3、    (18,5,16,19,21,23),(5,16,21,19,18,23) 4、     线性探测:ﻩ链地址法: 5、    深度:125364,广度:123456,最小生成树T得边集为E={(1,4),(1,3),(3,5),     (5,6),(5,6)}  五、算法设计题 1、        设计判断单链表中结点就是否关于中心对称算法。 typedef struct {int s[100]; int top;} sqstack; int lklistsymmetry(lklist *head) { sqstack stack;  stack、top= -1; lklist *p;   for(p=head;p!=0;p=p—>next) {stack、top++; stack、s[stack、top]=p->data;}   for(p=head;p!=0;p=p->next) if (p—>data==stack、s[stack、top]) stack、top=stack、top-1; else return(0); return(1); } 2、         在链式存储结构上设计直接插入排序算法 void straightinsertsort(lklist *&head) { lklist *s,*p,*q;  int t;  if (head==0 || head—>next==0) return;   else for(q=head,p=head->next;p!=0;p=q->next) {     for(s=head;s!=q->next;s=s—>next) if (s—>data>p-〉data) break; if(s==q-〉next)q=p; else{q—>next=p->next; p-〉next=s—>next; s-〉next=p; t=p—>data;p->data=s->data;s—>data=t;}   } }   4、        设计判断一棵二叉树就是否就是二叉排序树得算法。 int minnum=-32768,flag=1; typedef struct node{int key; struct node *lchild,*rchild;}bitree; void inorder(bitree *bt) { if (bt!=0) {inorder(bt—〉lchild); if(minnum>bt->key)flag=0; minnum=bt->key; inorder(bt->rchild);} }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服