数据结构试卷及答案(三)
一、选择题
1、设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>
, <01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是( )。(A) 线性结构
(B) 树型结构
(C) 物理结构
(D) 图型结构
2、下面程序的时间复杂为( )
for(i=1,s=0; i<=n;i++)
{
t=1;
for(j=1;j<=i;j++)
t=t*j;
s=s+t;
}
(A) O(n)
(B) O(n2)
(C) O(n3)
(D) O(n4)
3、设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( )。
(A) q=p->next;p->data=q->data;p->next=q->next;free(q);
(B) q=p->next;q->data=p->data;p->next=q->next;free(q);
(C) q=p->next;p->next=q->next;free(q);
(D) q=p->next;p->data=q->data;free(q);
4、设有n个待排序的记录关键字,则在堆排序中需要( )个辅助记录单元。
(A) 1
(B) n
(C) nlog2n
(D) n2
5、设一组初始关键字记录为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( )。
(A) 10,15,14,18,20,36,40,21
(B) 10,15,14,18,20,40,36,21
(C) 10,15,14,20,18,40,36,21
(D) 15,10,14,18,20,36,40,21
6、设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为( )。
(A) O(1)
(B) O(log2n)
(C) n
(D) O(n2)
7、设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为( )。
(A) n,e
(B) e,n
(C) 2n,e
(D) n,2e
8、设某强连通图中有n个顶点,则该强连通图中至少有( )条边。
(A) n(n-1)
(B) n+1
(C) n
(D) n(n+1)
9、设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( )方法可以达到此目的。
(A) 快速排序
(B) 堆排序
(C) 归并排序
(D) 插入排序
10、下列四种排序中( )的空间复杂度最大。
(A) 插入排序
(B) 冒泡排序
(C) 堆排序
(D) 归并排序
二、填空题
1、数据的物理结构主要包括_____________和______________两种情况。
2、设一棵完全二叉树中有500个结点,则该二叉树的深度为__________;若用二叉链表作为该完全二叉树的存储结构,则共有 ___
个空指针域。
3、设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列。
4、设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第 i 行上所有元素之和等于顶点i的________,第i列上所有元素之和
等于顶点 i 的________。
5、设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点。
6、设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为________。
7、__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)。
8、设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查
找表中。
分析:二分查找的过程可以用一棵二叉树来描述,该二叉树称为二叉判定树。在有序表上进行二分查找时的查找长度不超过二叉判定树的高度1+log2n。
9、不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为________。
10、设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为___________
右孩子结点的编号为___________。
11、设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为____________。
12、设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为______________。
13、下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。
struct record
{
int key;
int others;
};
int hashsqsearch(struct record hashtable[ ],int k)
{
int i,j;
j=i=k % p;
while (hashtable[j].key!=k&&hashtable[j].flag!=0)
{
j=(____) %m;
if (i==j)
return(-1);
}
if (_____________ )
return(j);
else
return(-1);
}
14、下列算法实现在二叉排序树上查找关键值k,请在下划线处填上正确的语句。
typedef struct node
{
int key;
struct node *lchild;
struct node *rchild;
}bitree;
bitree *bstsearch(bitree *t, int k)
{
if (t==0 )
return(0);
else
while (t!=0)
if (t->key==k)_____________;
else if (t->key>k)
t=t->lchild;
else_____________;
}
三、计算题
1、已知二叉树的前序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树。
2、已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为[0..6],假定选用的散列函数是H(K)= K mod 7,
若发生冲突采用线性探查法处理,试:
(1)计算出每一个元素的散列地址并在下图中填写出散列表:
(2)求出在查找每一个元素概率相等情况下的平均查找长度。
H(36)=36 mod 7=1;
H(15)=15 mod 7=1;….冲突
H1(15)=(1+1) mod 7=2;
H(40)=40 mod 7=5;
H(63)=63 mod 7=0;
H(22)=22 mod 7=1; ….冲突
H1(22)=(1+1) mod 7=2; ….冲突
H2(22)=(2+1) mod 7=3;
3、已知序列(10,18,4,3,6,12,1,9,18,8)请用快速排序写出每一趟排序的结果。
(1,6,4,3),8,(9),10,12,(18,18)
1,(3,4,6),8,9,10,12,18,(18)
1,3,(4,6),8,9,10,12,18,18
1,3, 4,6,8,9,10,12,18,18
四、算法设计题
1、设计在单链表中删除值相同的多余结点的算法。
typedef int datatype; typedef struct node {datatype data; struct node *next; }lklist; void delredundant(lklist *&head) {lklist *p,*q,*s;for(p=head;p!=0;p=p->next){for(q=p->next,s=q;q!=0;)if(q->data==p->data) {s->next=q->next; free(q);q=s->next;}else {s=q,q=q->next;}} }
2、设计一个求结点x在二叉树中的双亲结点算法。
typedef struct node {datatype data; struct node *lchild,*rchild; }bitree; bitree *q[20]; int r=0,f=0,flag=0; void preorder(bitree *bt, char x) {if (bt!=0 && flag==0)if (bt->data==x) { flag=1; return;}else {r=(r+1)% 20; q[r]=bt; preorder(bt->lchild,x); preorder(bt->rchild,x); } } void parent(bitree *bt,char x) {int i;preorder(bt,x);for(i=f+1; i<=r; i++) if (q[i]->lchild->data==x || q[i]->rchild->data) break;if (flag==0) printf("not found x\n");else if (i<=r) printf("%c",bt->data); else printf("not parent"); }
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=47
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
数据结构试卷及答案(三)相关推荐
- 《计算机应用基础》第三套作业,《计算机应用基础》第三套试卷和答案.doc
<计算机应用基础>第三套试卷和答案 洼拟酚痕扁亭疵熏瘤顶筹鲜愧禾候拂咨焕挖害骋邑授琳短雨况絮姚话混颈撵陛蚕撅瑟终妆响氢浑啄浓善箩将霞多仇齐眠长逗指脏和亲闹藩蝴班搬囊嫁澜代闺杠贴汉磁渺礼懦县 ...
- 三校生计算机题目及答案,“三校生”对口升学计算机应用试卷计算机基础知识(含答案)...
适合"三校生"对口升学用试卷 "三校生"计算机应用基础试卷(含答案) 课程名称:计算机应用基础 一.是非选择题(对的选A,错的选B.本大题共15小题,每小题1分 ...
- c语言职专试题及答案,中等职业学校计算机应用专业c语言编程基础科试卷及答案.doc...
中等职业学校计算机应用专业c语言编程基础科试卷及答案.doc 中等职业学校计算机应用专业C语言编程基础科试卷及答案一.填空(共35分)1.Unix系统诞生于 年,是由 实验室的K和用汇编语言开发成功的 ...
- python试卷(有答案版本、个人答案不是官方答案)_python试卷(有答案版本,个人答案不是官方答案).doc...
python试卷(有答案版本,个人答案不是官方答案).doc 专业班级 学号 姓名 考试科目 Python程序设计期中考试卷座位号 (自己写的答案,有不正确的地方还请给位批评指正)分数阅卷人一.填空题 ...
- 重庆理工大学计算机学院学概率论,重庆理工大学概率论试卷及答案.doc
重庆理工大学概率论试卷及答案.doc 概率与数理统计复习资料一.单选1.设随机事件与互不相容,且则( ) A.)B. C.D.2.设,为随机事件,,,则必有( ) A.B. C.D.3.将两封信随机地 ...
- 计算机电路逻辑分析基础知识答案,计算机电路基础试卷及答案.pdf
计算机电路基础试卷及答案 试卷代号:2023 座位号仁口 中央广播电视大学 2010-2011 学年度第一学期"开放专科"期末考试 计算机电路基础(1) 试题 2011 年 1 月 ...
- 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
计算机图形学 哈尔滨学院2006年秋季学期期末试卷 ( T )4.为了减少重复性工作一般均把常用图形的绘制设计成图形子程序. ( F )5.二维图形的基本变换后原图形的顶点没有改变. ( F )6.B ...
- matlab期中考试卷,matlab期末考试试卷及答案.doc
matlab期末考试试卷及答案.doc 第1页共10页一.填空题(每空2分,总共30分)1已知A096130B143150写出下列各指令运行的结果.ABSIZEACLENGTHA:则B和C的值分别为和 ...
- 2017计算机湖北对口试题答案,2017年计算机专业对口考试试卷及答案
2017年计算机专业对口考试试卷及答案 一.单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内.每小题2分,共80分) 1.以下软件中,( )是系统软件. A. ...
- 计算机基础知识试卷并附答案,计算机基础知识_试卷及答案.doc
计算机基础知识_试卷及答案 ※解题指导 1.与十进制数22等值的二进制数是 A . A.10110 B.01110 C.11010 D.10111 分析:十进制数转化为r进制数的方法是:整数部分:除r ...
最新文章
- 【python教程入门学习】Pandas库下载和安装
- 怎么从0开始学python_如何从零开始学python
- UpdateProgress学习
- 实用场景解析:那些漂亮的可视化图表都是如何做的?
- 【ASP.NET Core 沉思录】CreateWebHostBuilder 是一个 Convension
- 中移4G模块-ML302-OpenCpu开发-服务器搭建
- SequoiaDB 系列源码分析调整
- Oracle终于安装完成了,开始DBA学习之路
- efi文件错误服务器崩溃,电脑故障分析:Winload.efi文件丢失导致蓝屏的解决方法...
- springboot中的pom文件详解
- cmd命令—windows7
- vue和echarts实现地图航线
- 4.3 齐次线性方程组
- Microsoft Office下载链接
- 未转变者服务器怎么弄指令权限,未转变者基础指令
- Nicholas C. Zakas:我得到的最佳职业生涯建议
- fortran---说实话,不知道记录有什么用 写着玩吧
- JAVA计算机毕业设计电影视频在线点播系统Mybatis+系统+数据库+调试部署
- 经典算法:二叉树的建立
- 项目管理软件中有哪些技术风险?