华师大数据结构期中考试试卷(含答案)

合集下载

数据结构期中考试试卷

数据结构期中考试试卷

数据结构期中考试试卷一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序3. 在二叉树中,度为2的节点最多有多少个子节点?A. 1B. 2C. 3D. 44. 哈希表解决冲突的方法不包括以下哪一项?A. 分离链接法B. 开放寻址法C. 链地址法D. 树形结构法5. 以下哪个不是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 动态规划D. 克鲁斯卡尔算法6. 栈的特点是?A. 后进先出B. 先进后出C. 先进先出D. 后进后出7. 以下哪个不是二叉搜索树的性质?A. 左子树上所有节点的值小于它的根节点的值B. 右子树上所有节点的值大于它的根节点的值C. 左子树和右子树都是二叉搜索树D. 所有节点的值都相等8. 在数据库中,索引的作用是什么?A. 增加数据存储空间B. 提高数据检索效率C. 降低数据插入速度D. 减少数据存储量9. 以下哪个不是图的存储结构?A. 邻接矩阵B. 邻接表C. 树形结构D. 边列表10. 递归算法的基本思想是什么?A. 将问题分解为更小的子问题B. 重复执行相同的操作C. 将问题转化为非递归形式D. 避免使用循环结构二、填空题(每题2分,共20分)1. 在数据结构中,______是一种特殊的线性表,只允许在一端进行插入和删除操作。

2. 排序算法中,______排序的时间复杂度为O(n^2),适用于小规模数据的排序。

3. 在图的表示中,______矩阵可以有效地表示稠密图。

4. 哈希表中,______是指两个关键字通过哈希函数得到同一个哈希地址。

5. 栈和队列的主要区别在于,栈是______,而队列是先进先出。

6. 二叉树的遍历方式包括前序遍历、中序遍历和______遍历。

数据结构期中试题及参考答案

数据结构期中试题及参考答案

}LNode, *LinkList;
阅读算法 f31,并回答问题;
(1)设节点结构为id score next
,成绩链表 A 和 B 如图所示,画
出执行算法 f31(A,B)后节点 A 所指的链表;
A
1 70
2 40
3 90
4 48
5 56
B
2 38
4 65
题 31 图
(2)减速算法 f31 的功能。 Void f31(LinkList A, LinkList B) { LinkList p,q; p = A->next; q = B->next; while (p && q) { if(p->id < q->id) p = p ->next; else if(p->if > q-> id) q =q –>next; else { if (p->score < 60)
I + = j + lt ;
}
}while (i+lt <= ls && j>=0);
Return k;
}

五、算法设计题(本题 14 分) 34.假设线性表采用顺序存储结构,其类型定义如下:
#define ListSize 100 typedef struct{
int data[ListSize]; int length; }SeqList, *Table; 编写算法,将顺序表 L 中所有值为奇数的元素调整到表的前端。
(1)设 n=10,元素
p=8

存储在 sa[p],写出下标 p 的值;
题 3-1 图

2019华师大版初二数学下册期中数据的集中试卷(含答案解析)精品教育.doc

2019华师大版初二数学下册期中数据的集中试卷(含答案解析)精品教育.doc

华师大版2019初二数学下册期中数据的集中试卷(含答案解析)华师大版2019初二数学下册期中数据的集中试卷(含答案解析)一.选择题(共8小题)1.一名射击爱好者5次射击的中靶环数如下:6,7,9,8,9,这5个数据的中位数是()A.6 B.7 C.8 D.92.数据0,1,1,x,3,4的平均数是2,则这组数据的中位数是()A.1 B.3 C.1.5 D.23.某校八年级(2)班6名女同学的体重(单位:kg)分别为35,36,38,40,42,42,则这组数据的中位数是()A.38 B.39 C.40 D.424.一组数据3,3,4,2,8的中位数和平均数分别是()A.3和3 B.3和4 C.4和3 D.4和45.某市5月份连续五天的日最高气温(单位:℃)分别为:33,30,30,32,35.则这组数据的中位数和平均数分别是()A.32,33 B.30,32 C.30,31 D.32,326.在一次信息技术考试中,抽得6名学生的成绩(单位:分)如下:8,8,10,8,7,9,则这6名学生成绩的中位数是()A.7 B.8 C.9 D.107.一次英语测试后,随机抽取九年级某班5名学生的成绩如下:91,78,98,85,98.关于这组数据说法正确的是()A.中位数是91 B.平均数是91 C.众数是91 D.极差是788.小明记录了一星期天的最高气温如下表,则这个星期每天的最高气温的中位数是()星期一二三四五六日最高气温(℃) 22 24 23 25 24 22 21A.22℃ B.23℃ C.24℃ D.25℃二.填空题(共6小题)9.某班7名学生的数学考试成绩(单位:分)如下:52,76,80,76,71,92,67 则这组数据的中位数是_分.10.某校男子足球队的年龄分布如图的条形统计图,则这些足球队的年龄的中位数是_________ 岁.11.若一组数据3,4,x,5,8的平均数是4,则该组数据的中位数是_________ .12.在一次数学测试中,小明所在小组6人的成绩(单位:分)分别为84、79、83、87、77、81,则这6人本次数学测试成绩的中位数是_________ .13.小斌所在的课外活动小组在大课间活动中练习立定跳远,成绩如下(单位:米):1.96,2.16,2.04,2.20,1.98,2.22,2.32,则这组数据的中位数是_________ 米.14.已知一组数据:0,2,x,4,5的众数是4,那么这组数据的中位数是_________ .三.解答题(共8小题)15.20 13年4月20日,四川省雅安市芦山县发生了7.0级地震,某校开展了“雅安,我们在一起”的赈灾捐款活动,其中九年级二班50名学生的捐款情况如下表所示:捐款金额(元) 5 10 15 20 50捐款人数(人) 7 18 10 12 3(Ⅰ)求这50个样本数据的平均数、众数和中位数;(Ⅱ)根据样本数据,估计该校九年级300名学生在本次活动中捐款多于15元的人数.16.“PM2.5”指数是空气中可入肺颗粒物的含量,是空气质量的指标之一.下表为A市1﹣12月“PM2.5月平均指数”(单位:微克/立方米)PM2.5指数 20 30 40 41 43 50月数 2 4 3 1 1 1(1)求这12个月“PM2.5月平均指数”的众数、中位数、平均数;(2)根据《环境空气质量标准》,宜居城市的标准之一是“PM2.5年平均指数少于35微克/立方米”,请你判断A市是否为宜居城市?17.为了全面了解学生的学习、生活及家庭的基本情况,加强学校、家庭的联系,梅灿中学积极组织全体教师开展“课外访万家活动”,王老师对所在班级的全体学生进行实地家访,了解到每名学生家庭的相关信息,先从中随机抽取15名学生家庭的年收入情况,数据如表:年收入(单位:万元) 2 2.5 3 4 5 9 13家庭个数 1 3 5 2 2 1 1(1)求这15名学生家庭年收入的平均数、中位数、众数;(2)你认为用(1)中的哪个数据来代表这15名学生家庭年收入的一般水平较为合适?请简要说明理由.18.我市某校九年级一班学生参加毕业体考的成绩统计如图所示,请根据统计图中提供的信息完成后面的填空题(将答案填写在相应的横线上)(1)该班共有_________ 名学生;(2)该班学生体考成绩的众数是_________ ;男生体考成绩的中位数是_________ ;(3)若女生体考成绩在37分及其以上,男生体考成绩在38分及其以上被认定为体尖生,则该班共有_________ 名体尖生.19.为迎接中国共产党建党90周年,某校举办“红歌伴我成长”歌咏比赛活动,参赛同学的成绩分别绘制成频数分布表和频数分布直方图(均不完整)如下:分数段频数频率80≤x<85 9 0.1585≤x<90 m 0.4590≤x<95 ■ ■95≤x<100 6 n(1)求m,n的值分别是多少;(2)请在图中补全频数分布直方图;(3)比赛成绩的中位数落在哪个分数段?20.在喜迎建党九十周年之际,某校举办校园唱红歌比赛,选出10名同学担任评委,并事先拟定从如下四种方案中选择合理方案来确定演唱者的最后得分(每个评委打分最高10分).方案1:所有评委给分的平均分.方案2:在所有评委中,去掉一个最高分和一个最低分,再计算剩余评委的平均分.方案3:所有评委给分的中位数.方案4:所有评委给分的众数.为了探究上述方案的合理性,先对某个同学的演唱成绩进行统计实验,右侧是这个同学的得分统计图:(1)分别按上述四种方案计算这个同学演唱的最后得分.(2)根据(1)中的结果,请用统计的知识说明哪些方案不适合作为这个同学演唱的最后得分?21.我区很多学校开展了大课间活动.某校初三(1)班抽查了10名同学每分钟仰卧起坐的次数,数据如下(单位:次):51,69,64,52,64,72,48,52,7 6,52.(1)这组数据的众数为 _________ ;求这组数据的中位数;(2)在对初三(2)班10名同学每分钟仰卧起坐次数的抽查中,已知这组数据的平均数正好与初三(1)班上述数据的平均数相同,且除众数(唯一)之外的6个数之和为348.求这组数据的众数.22.某公司销售部有销售人员15人,销售部为了制定某种商品的月销售定额,统计了这15人某月的销售量,如下表所示每人销售件数 1800 510 250 210 150 120人数 1 1 3 5 3 2(1)这15位销售人员该月销售量得平均数为_________ 件,中位数为_________ 件,众数为_________ 件;(2)假设销售部经理把每位销售人员的月销售量定为210件,你认为是否合理,为什么?华师大版2019初二数学下册期中数据的集中试卷(含答案解析)参考答案与试题解析一.选择题(共8小题)1.一名射击爱好者5次射击的中靶环数如下:6,7,9,8,9,这5个数据的中位数是()A. 6 B.7 C.8 D. 9考点:中位数.分析:根据中位数的概念求解.解答:解:这组数据按照从小到大的顺序排列为:6,7,8,9,9,则中位数为:8.故选:C.点评:本题考查了中位数的知识:将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数;如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数.2.数据0,1,1,x,3,4的平均数是2,则这组数据的中位数是()A. 1 B.3 C.1.5 D. 2考点:中位数;算术平均数.分析:根据平均数的计算公式求出x的值,再把这组数据从小到大排列,根据中位数的定义即可得出答案.解答:解:∵数据0,1,1,x,3,4的平均数是2,∴(0+1+1+x+3+4)÷6=2,解得:x=3,把这组数据从小到大排列0,1,1,3,3,4,最中间两个数的平均数是(1+3)÷2=2,则这组数据的中位数是2;故选:D.点评:此题考查了中位数和平均数,根据平均数的计算公式求出x的值是本题的关键,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(或最中间两个数的平均数).3.某校八年级(2)班6名女同学的体重(单位:kg)分别为35,36,38,40,42,42,则这组数据的中位数是()A. 38 B.39 C.40 D. 42考点:中位数.分析:根据中位数的定义求解,把数据按大小排列,第3个数为中位数.解答:解:题目中数据共有6个,按从小到大排列后取第3、4个数的平均数作为中位数,故这组数据的中位数是 =39.故选:B.点评:本题属于基础题,考查了确定一组数据的中位数的能力.要明确定义:将一组数据从小到大(或从大到小)重新排列后,若这组数据的个数是奇数,则最中间的那个数叫做这组数据的中位数;若这组数据的个数是偶数,则最中间两个数的平均数是这组数据的中位数,比较简单.4.一组数据3,3,4,2,8的中位数和平均数分别是()A. 3和3 B.3和4 C.4和3 D. 4和4考点:中位数;算术平均数.分析:根据中位数及平均数的定义求解即可.解答:解:将数据从小到大排列为:2,3,3,4,8,则中位数是3,平均数= =4.故选:B.点评:本题考查了平均数及中位数的知识,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数.5.某市5月份连续五天的日最高气温(单位:℃)分别为:33,30,30,32,35.则这组数据的中位数和平均数分别是()A. 32,33 B.30,32 C.30,31 D. 32,32考点:中位数;算术平均数.分析:先把这组数据从小到大排列,找出最中间的数,即可得出这组数据的中位数,再根据平均数的计算公式进行计算即可.解答:解:把这组数据从小到大排列为30,30,32,33,35,最中间的数是32,则中位数是32;平均数是:(33+30+30+32+35)÷5=32,故选:D.点评:此题考查了中位数和平均数,掌握中位数的定义和平均数的计算公式是本题的关键;中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数,如果中位数的概念掌握得不好,不把数据按要求重新排列,就会出错.6.在一次信息技术考试中,抽得6名学生的成绩(单位:分)如下:8,8,10,8,7,9,则这6名学生成绩的中位数是()A. 7 B.8 C.9 D. 10考点:中位数.专题:常规题型.分析:根据中位数的定义,把把这组数据从小到大排列,找出最中间的数即可.解答:解:把这组数据从小到大排列为:7,8,8,8,9,10,最中间两个数的平均数是(8+8)÷2=8,则中位数是8.故选:B.点评:本题考查了中位数,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数).7.一次英语测试后,随机抽取九年级某班5名学生的成绩如下:91,78,98,85,98.关于这组数据说法正确的是()A.中位数是91 B.平均数是91 C.众数是91 D.极差是78考点:中位数;算术平均数;众数;极差.专题:常规题型.分析:根据极差、中位数、众数及平均数的定义,结合数据进行分析即可.解答:解:A、将数据从小到大排列为:78,85,91,98,98,中位数是91,故A选项正确;B、平均数是(91+78+98+85+98)÷5=90,故B选项错误;,C、众数是98,故C选项错误;D、极差是98﹣78=20,故D选项错误;故选:A.点评:本题考查了极差、中位数、众数及平均数的知识,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),众数是一组数据中出现次数最多的数,极差是用最大值减去最小值.8.小明记录了一星期天的最高气温如下表,则这个星期每天的最高气温的中位数是()星期一二三四五六日最高气温(℃) 22 24 23 25 24 22 21A.22℃ B.23℃ C.24℃ D.25℃考点:中位数.专题:图表型.分析:将数据从小到大排列,根据中位数的定义求解即可.解答:解:将数据从小到大排列为:21,22,22,23,24,24,25,中位数是23.故选:B.点评:本题考查了中位数的知识,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数.二.填空题(共6小题)9.某班7名学生的数学考试成绩(单位:分)如下:52,76,80,76,71,92,67 则这组数据的中位数是76 分.考点:中位数.分析:先把这组数据按从小到大的顺序排列,找到第四个数据即为中位数.解答:解:将这组数据按从小到大的顺序排列为:52,67,71,76,76,80,92,处于中间位置的那个数是76,那么由中位数的定义可知,这组数据的中位数是76.故答案为76.点评:本题为统计题,考查中位数的意义.中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数.如果中位数的概念掌握得不好,不把数据按要求重新排列,就会出错.10.某校男子足球队的年龄分布如图的条形统计图,则这些足球队的年龄的中位数是15 岁.考点:中位数;条形统计图.分析:根据年龄分布图和中位数的概念求解.解答:解:根据图示可得,共有:8+10+4+2=24(人),则第12名和第13名的平均年龄即为年龄的中位数,即中位数为15.故答案为:15.点评:本题考查了中位数的概念:将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数;如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数.11.若一组数据3,4,x,5,8的平均数是4,则该组数据的中位数是 4 .考点:中位数;算术平均数.分析:首先根据平均数为4,求出x的值,然后根据中位数的概念求解.解答:解:根据题意可得, =4,解得:x=0,这组数据按照从小到大的顺序排列为:0,3,4,5,8,则中位数为:4.故答案为:4.点评:本题考查了中位数的知识,将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数;如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数.12.在一次数学测试中,小明所在小组6人的成绩(单位:分)分别为84、79、83、87、77、81,则这6人本次数学测试成绩的中位数是82 .考点:中位数.分析:根据中位数的定义先把这组数据从小到大排列,再求出最中间两个数的平均数即可.解答:解:把这组数据从小到大排列为:77、79、81、83、84、87,最中间两个数的平均数是:(81+83)÷2=82;故答案为:82.点评:此题考查了中位数,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数,熟练掌握中位数的概念是本题的关键.13.小斌所在的课外活动小组在大课间活动中练习立定跳远,成绩如下(单位:米):1.96,2.16,2.04,2.20,1.98,2.22,2.32,则这组数据的中位数是 2.16 米.考点:中位数.分析:根据中位数的概念求解.解答:解:这组数据按照从小到大的顺序排列为:1.96,1.98,2.04,2.16,2.20,2.22,2.32,则中位数为:2.16.故答案为:2.16.点评:本题考查了中位数的知识:将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数;如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数.14.已知一组数据:0,2,x,4,5的众数是4,那么这组数据的中位数是 4 .考点:中位数;众数.分析:根据众数为4,可得x=4,然后把这组数据按照从小到大的顺序排列,找出中位数.解答:解:∵数据0,2,x,4,5的众数是4,∴x=4,这组数据按照从小到大的顺序排列为:0,2,4,4,5,则中位数为:4.故答案为:4.点评:本题考查了中位数的知识:将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数;如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数.三.解答题(共8小题)15.2019年4月20日,四川省雅安市芦山县发生了7.0级地震,某校开展了“雅安,我们在一起”的赈灾捐款活动,其中九年级二班50名学生的捐款情况如下表所示:捐款金额(元) 5 10 15 20 50捐款人数(人) 7 18 10 12 3(Ⅰ)求这50个样本数据的平均数、众数和中位数;(Ⅱ)根据样本数据,估计该校九年级300名学生在本次活动中捐款多于15元的人数.考点:众数;用样本估计总体;加权平均数;中位数.分析:(1)先根据表格提示的数据求出50名学生的捐款总金额,然后除以50即可求出平均数,在这组样本数据中,10出现的次数最多,所以求出了众数,将这组样本数据按从小到大的顺序排列,其中处于中间的两个数是10,15,从而求出中位数是,12.5;(2)从表格中得知在50名学生中,捐款多于15元的学生有15名,所以可以估计该校九年级300名学生在本次活动中捐款多于15元的人数为300× =90.解答:解:(Ⅰ)观察表格,可知这组样本数据的平均数是= =15.1;∴这组样本数据的平均数是15.1.…(2分)在这组样本数据中,10出现了18次,出现的次数最多,∴这组样本数据的众数为l0.…(4分)∵将这组样本数据按从小到大的顺序排列,其中处于中间的两个数分别是10,15,∴这组数据的中位数为l2.5.…(6分)(Ⅱ)在50名学生中,捐款多于15元的学生有15名,有300× =90(名).∴根据样本数据,可以估计该校九年级300名学生在本次活动中捐款多于15元的约有90名.…(8分)点评:本题考查了平均数、众数和中位数的定义,用样本估计总体的思想,解题的关键是牢记概念及公式.16.“PM2.5”指数是空气中可入肺颗粒物的含量,是空气质量的指标之一.下表为A市1﹣12月“PM2.5月平均指数”(单位:微克/立方米)PM2.5指数 20 30 40 41 43 50月数 2 4 3 1 1 1(1)求这12个月“PM2.5月平均指数”的众数、中位数、平均数;(2)根据《环境空气质量标准》,宜居城市的标准之一是“PM2.5年平均指数少于35微克/立方米”,请你判断A市是否为宜居城市?考点:众数;统计表;加权平均数.专题:图表型.分析:(1)利用众数、中位数及平均数的定义进行计算即可;(2)求出平均数,与标准比对即可得出答案.解答:解:(1)将数据从小到大排列为:20,20,30,30,30,30,40,40,40,41,43,43,50,众数是30,中位数是40,平均数= ×(20×2+30×4+40×3+41+43+50)=34.5微克/立方米.(2)∵PM2.5年平均值小于35微克/立方米,∴A城市宜居.点评:本题考查了众数、中位数及平均数的知识,掌握各部分的定义是关键,中位数是将一组数据从小到大(或从大到小)重新排列后,最中间的那个数(最中间两个数的平均数),叫做这组数据的中位数,如果中位数的概念掌握得不好,不把数据按要求重新排列,就会出错.17.为了全面了解学生的学习、生活及家庭的基本情况,加强学校、家庭的联系,梅灿中学积极组织全体教师开展“课外访万家活动”,王老师对所在班级的全体学生进行实地家访,了解到每名学生家庭的相关信息,先从中随机抽取15名学生家庭的年收入情况,数据如表:年收入(单位:万元) 2 2.5 3 4 5 9 13家庭个数 1 3 5 2 2 1 1(1)求这15名学生家庭年收入的平均数、中位数、众数;(2)你认为用(1)中的哪个数据来代表这15名学生家庭年收入的一般水平较为合适?请简要说明理由.考点:众数;加权平均数;中位数.分析:(1)根据平均数、中位数和众数的定义求解即可;(2)在平均数,众数两数中,平均数受到极端值的影响较大,所以众数更能反映家庭年收入的一般水平.解答:解:(1)这15名学生家庭年收入的平均数是:(2+2.5×3+3×5+4×2+5×2+9+13)÷15=4.3万元;将这15个数据从小到大排列,最中间的数是3,所以中位数是3万元;在这一组数据中3出现次数最多的,故众数3万元;(2)众数代表这15名学生家庭年收入的一般水平较为合适,因为3出现的次数最多,所以能代表家庭年收入的一般水平.点评:本题考查的是平均数、众数和中位数的概念和其意义.要注意:当所给数据有单位时,所求得的平均数、众数和中位数与原数据的单位相同,不要漏单位.18.我市某校九年级一班学生参加毕业体考的成绩统计如图所示,请根据统计图中提供的信息完成后面的填空题(将答案填写在相应的横线上)(1)该班共有56 名学生;(2)该班学生体考成绩的众数是36 ;男生体考成绩的中位数是36 ;(3)若女生体考成绩在37分及其以上,男生体考成绩在38分及其以上被认定为体尖生,则该班共有19 名体尖生.考点:中位数;条形统计图;众数.分析:(1)根据直方图上所给的数据即可求出总人数;(2)根据众数:一组数据中出现次数最多的数据;中位数:将一组数据按照从小到大(或从大到小)的顺序排列,如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数,如果这组数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数,可得到答案.(3)根据直方图和男女生体尖生的标准分别计算出男女生的人数,再相加即可.解答:解:(1)2+2+1+1+3+3+3+5+8+6+5+3+3+4+2+3+1+1=56;(2)众数是出现次数最多的数,36出现的次数最多,故众数是36;男生考试的分数分别是:32,32,33,34,34,34,35,35,35,35,35,36,36,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,位置处于中间的数是36,36,故中位数是:(36+36)÷2=36;(3)女生体考成绩在37分及其以上的人数有:5+3+2+1=11(人),男生体考成绩在38分及其以上的人数有:4+3+1=8(人)∴11+8=19.故答案为:56;36;36;19.点评:此题主要考查了看直方图,中位数,众数,关键是正确读图,能从图中获取正确信息.19.为迎接中国共产党建党90周年,某校举办“红歌伴我成长”歌咏比赛活动,参赛同学的成绩分别绘制成频数分布表和频数分布直方图(均不完整)如下:分数段频数频率80≤x<85 9 0.1585≤x<90 m 0.4590≤x<95 ■ ■95≤x<100 6 n(1)求m,n的值分别是多少;(2)请在图中补全频数分布直方图;(3)比赛成绩的中位数落在哪个分数段?考点:中位数;频数(率)分布直方图.专题:压轴题.分析:(1)根据统计表中,频数与频率的比值相等,可得关于m、n的关系式;进而计算可得m、n的值;(2)根据(1)的结果,可以补全直方图;(3)根据中位数的定义判断.解答:解:(1)根据统计表中,频数与频率的比值相等,即有 = =解可得:m=27,n=0.1;(2)图为:(3)根据中位数的求法,先将数据按从小到大的顺序排列,读图可得:共60人,第30、31名都在85分~90分,故比赛成绩的中位数落在85分~90分.点评:本题考查条形统计图、图表等知识.结合生活实际,绘制条形统计图或从统计图中获取有用的信息,是近年中考的热点.只要能认真准确读图,并作简单的计算,一般难度不大.20在喜迎建党九十周年之际,某校举办校园唱红歌比赛,选出10名同学担任评委,并事先拟定从如下四种方案中选择合理方案来确定演唱者的最后得分(每个评委打分最高10分).方案1:所有评委给分的平均分.方案2:在所有评委中,去掉一个最高分和一个最低分,再计算剩余评委的平均分.方案3:所有评委给分的中位数.方案4:所有评委给分的众数.为了探究上述方案的合理性,先对某个同学的演唱成绩进行统计实验,右侧是这个同学的得分统计图:(1)分别按上述四种方案计算这个同学演唱的最后得分.(2)根据(1)中的结果,请用统计的知识说明哪些方案不适合作为这个同学演唱的最后得分?考点:众数;加权平均数;中位数.专题:图表型.分析:本题关键是理解每种方案的计算方法:(1)方案1:平均数=总分数÷10.方案2:平均数=去掉一个最高分和一个最低分的总分数÷8.方案3:10个数据,中位数应是第5个和第6个数据的平均数.方案4:求出评委给分中,出现次数最多的分数.(2)考虑不受极值的影响,不能有两个得分等原因进行排除.解答:解:(1)方案1最后得分:(3.2+7.0+7.8+3×8+3×8.4+9.8)=7.7;方案2最后得分:(7.0+7.8+3×8+3×8.4)=8;方案3最后得分:8;方案4最后得分:8和8.4.(2)因为方案1中的平均数受极端数值的影响,不适合作为这个同学演讲的最后得分,所以方案1不适合作为最后得分的方案.因为方案4中的众数有两个,众数失去了实际意义,所以方案4不适合作为最后得分的方案.点评:本题为统计题,考查众数、平均数与中位数的意义,用到的知识点是:给定一组数据,出现次数最多的那个数,称为这组数据的众数.中位数的定义:将一组数据从小到大依次排列,把中间数据(或中间两数据的平均数)叫做中位数.平均数=总数÷个数.学会选用适当的统计量分析问题.21.我区很多学校开展了大课间活动.某校初三(1)班抽查了10名同学每分钟仰卧起坐的次数,数据如下(单位:次):51,69,64,52,64,72,48,52,76,52.(1)这组数据的众数为52 ;求这组数据的中位数;(2)在对初三(2)班10名同学每分钟仰卧起坐次数的抽查中,已知这组数据的平均数正好与初三(1)班上述数据的平均数相同,且除众数(唯一)之外的6个数之和为348.求这组数据的众数.考点:众数;算术平均数;中位数.专题:计算题.分析:(1)出现次数最多的数为这组数据的众数,排序后位于中间两数的平均数为该组数据的中位数;(2)先计算该组数据的平均数,然后利用已知条件设出众数列出方程解之即可.解答:解:(1)52;这组数据从小到大重新排列为:48,51,52,52,52,64,64,69,72,76.∵居中的两个数分别为:52和64,(52+64)÷2=58,∴这组数据的中位数为58;(2)三(1)数据的平均数为:= (48+51+52+52+52+64+64+69+72+76)=60.设三(2)班数据的众数为x,由题意得:4x+348=10×60,解得x=63,。

华师大数据结构期中考试试卷(含答案)

华师大数据结构期中考试试卷(含答案)

华师大数据结构期中考试试卷(含答案)华东师范大学期中试卷2007—2008学年第二学期课程名称:______数据结构_____姓名:___________________学号:__________________专业:___________________年级/班级:__________________课程性质:专业必修一二三四五六七八总分阅卷人签名一、单项选择题(共18分,每题3分)1.Stack has the property called last in and first out,then which of the following describes the property of Queue?a)Last in and first outb)First in and last outc)First in and first out2.A list of items from which only the item most recently added can be removed is known as a()a)stackb)queuec)circular linked listd)list3.If the following function is called with a value of2for n,what is the resultingoutput?void Quiz(int n){if(n>0){cout<<0;Quiz(n-1);cout<<1;Quiz(n-1);}}a)00011011b)11100100c)10011100d)01100011e)0011014.A heap is a list in which each entry contains a key,and,for all positions i in the list, the key at position i is at lease as large as the keys in positions2i+2and(), provided these positions exist in the list.a)2ib)2i-1c)2i-2d)2i+15.Given the recursive functionint Func(/*in*/int i,/*in*/int j){if(i<11)if(j<11)return i+j;elsereturn j+Func(i,j-2);elsereturn i+Func(i-1,j);}what is the value of the expression Func(12,15)?a)81b)62c)19d)72e)none of the above6.Shell sort finally perform an ordinary()?a)Heap sortb)Insertion sortc)Selection sortd)Quick sort二、填空题(共22分,每空2分)1.If the following function is called with a value of75for n,the resulting output is_______【1】_________.void Func(/*in*/int n){if(n>0){Func(n/8);cout<<n%8;< p="">}}2.Give the output of the following program.________【2】__________. templatevoid print(List_entry&x){cout<<x<<"";< p="">}void main(){Listmylist;for(int i=0;i<5;i++)mylist.insert(i,i);cout<<"Your list have"<<mylist.size()<<"elements:"<<endl;< p="">mylist.remove(0,i);mylist.remove(2,i);mylist.insert(i,i);mylist.traverse(print);mylist.clear();for(i=1;i<3;i++)mylist.insert(i,i);mylist.traverse(print);}3.Read the following program and fill the blank to complete the method.templatestruct Node{//data membersNode_entry entry;Node*next;Node*back;//constructorsNode();Node(Node_entry item,Node*link_back=NULL, Node*link_next=NULL);};templatevoid List::set_position(int position)const/*Pre:position is a valid position in the List:0<=position<count.< p="">Post:The current Node pointer references the Node at position.*/{if(current_position<=position)for(;current_position!=position;current_position++)【3】;elsefor(;current_position!=position;【4】)current=current->back;}4.Read the following program and fill the blank to complete the method.Error_code recursive_binary_2(const Ordered_list&the_list,const Key&target,int bottom,int top,int&position) /*Pre:The indices bottom to top define the range in the list to search for the target.Post:If a Record in the range from bottom to top in the list has key equal to target,then position locates one such entry,and a code of success isreturned.Otherwise,not_present is returned,and position is undefined.Uses:recursive_binary_2,together with methods from the classes Ordered_list and Record.*/{Record data;if(bottom<=top){int mid=【5】;the_list.retrieve(mid,data);if(data==target){【6】;return success;}else if(data<target)< p="">return recursive_binary_2(the_list,target,【7】,top,position);elsereturn recursive_binary_2(the_list,target,bottom,【8】,position);}else return not_present;}5.The following program is the divide_from function of Merge Sort.Please fill the blank to complete the function.Node*divide_from(Node*sub_list)/*Post:The list of nodes referenced by sub_list has been reduced to its first half,and a pointer to the first node in the second half of the sublist is returned.If the sublist has an odd number of entries,then its first half will be one entry larger than its second.*/ {Node*position,//traverses the entire list*midpoint,//moves at half speed of position to midpoint*second_half;if((midpoint=sub_list)==NULL)return NULL;//List is empty.position=midpoint->next;while(【9】){//Move position twice for midpoint's one move.position=position->next;if(position!=NULL){【10】;position=position->next;}}second_half=【11】;midpoint->next=NULL;return second_half;}三、编程题(共60分)1.(16分)Apply quicksort to the following list of14names,where the pivot in each sublist is chosen to be(a)the first key in the sublist and(b)the last key in the sublist.In each case,draw the tree of recursive call.Tim Dot Eva Roy T om Kim Guy Amy Jon Ann Jim Kay Ron Jan2.(16分)Write the following overload operator for stacks:1)bool Stack::operator==(const Stack&s);2)bool Stack::operator+=(const Stack&s);//pushes the contents of the given stack onto this stack;3.(10分)Write the following function temple:Templatevoid reverse(Queue&q);//reverses the contents of the given queue;4.(18分)struct Node{//data membersint entry;Node*next;//constructorsNode();Node(int item,Node*link=NULL);};f is the head pointer of a link list of nodes.Using recursion,implement the following functions:1)int Max(Node*f);//return the max value in the link list.2)int Num(Node*f);//return the number of the nodes in the link list3)Node*Search(Node*f,int x);//Search the first occurrence of the x in the link list.If success returns the //pointer to the node,else returns NULL.数据结构期中考卷参考答案一、单项选择题(3×6=18)1.c 2.a 3.e 4.d 5.a 6.b 二、填空题(2×11=22)【1】113【2】Your list have5 elements:1243【3】current=current->next 【4】current_position--【5】(bottom+top)/2【6】position=mid【7】mid+1【8】mid–1【9】position!=NULL 【10】midpoint= midpoint->next;【11】midpoint->next三、编程题(16×2+10+18=60)1,a)P344F8.12b)2.1)bool Stack::operator==(const Stack&s) {Stack s1=s,s2=*this;while(!s1.empty())if(s1.top()!=s2.top())return false;else{s1.pop();s2.pop();}}2)bool Stack::operator+=(const Stack&s) {Stack ss=s,s2;while(!ss.empty()){s2.push(ss.top());ss.pop();}while(!s2.empty()){if(push(s2.top()==outcome)return false; s2.pop();}}3.Templatevoid reverse(Queue&q) {Stacks;T data;while(!q.empty()){q.retrieve(data);s.push(data);q.serve();}while(!s.empty()){q.append(s.top());s.pop();}}4.int Max(Node*f){if(f->next==NULL)return f->entry;int temp=Max(f->next);if(f->data>temp)return f->entry;else return temp;}int Num(Node*f){if(f==NULL)return0;return1+Num(f->next);}Node*Search(Node*f,int x){if(f==NULL)return NULL;elseif(f→entry==x)return f;else return Search(f→next,x); }</target)<></count.<></mylist.size()<<"elements:"<<endl;<> </x<<"";<></n%8;<>。

数据结构期中考试题

数据结构期中考试题

一、单项选择题(每小题3分,共30分)1、线性结构是数据元素之间存在的一种_______。

A、一对多关系B、多对多关系C、多对一关系D、一对一关系2、以下数据结构中,哪一个不是线性结构()A.生成树 B. 顺序栈 C. 单链表 D. 循环队列3、设n是偶数,则运行下列程序段的时间复杂度为()。

x=100;for(p=2;p<=n;p++)for(q=2*i;q<=n;q++)x=(x+1)*3;A.O(1) B.O(n) C.O(n2) D.O(lbn)4、若频繁地对线性表进行插入和删除操作,该线性表应该采用——存储结构。

A、散列B、顺序C、链式D、索引5、在非空双向循环链表中由q所指的链结点后面插入一个由p所指的链结点的动作依次为:p->llink=Q;p->rlink=q->rlink;q->rlink=p;_______.(空白处为一条赋值语句) A、q->llink=p B、q->rlink->llink=pC、p->rlink->llink=pD、p->llink->llink=p6、设循环队列的结构是:const int Maxsize=100;typedef int Data Type;typedef struct {Data Type data[Maxsize];Int front, rear;} Queue;若有一个Queue类型的队列Q,试问判断队列满的条件应是下列哪一个语句()A 、Q.front= = Q.rear; B、 Q.front - Q.rear= = Maxsize;C、Q.front + Q.rear= = Maxsize;D、 Q.front= = (Q.rear+1)% Maxsize;7、已知L是一个不带表头的单链表, 在表首插入结点*p的操作是()。

A. p = L; p->next = L;B. p->next = L; p = L;C. p->next = L; L = p;D. L = p; p->next= L;8、下面关于串的叙述中,哪一个是不正确的?( )A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储9、若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )。

数据结构期中测试题答案

数据结构期中测试题答案
《数据结构》期中测试
班级:
姓名:
学号:
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根1保据过护生管高产线中工敷资艺设料高技试中术卷0资配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中2体2资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况1卷下中安与,全过要,度加并工强且作看尽下护可1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编.工写保况复护进杂层行设防自备腐动与跨处装接理置地,高线尤中弯其资曲要料半避试径免卷标错调高误试等高方,中案要资,求料编技试5写术卷、重交保电要底护气设。装设备管置备4高线动调、中敷作试电资设,高气料技并中课3试术且资件、卷中拒料中管试包绝试调路验含动卷试敷方线作技设案槽,术技以、来术及管避系架免统等不启多必动项要方高案式中;,资对为料整解试套决卷启高突动中然过语停程文机中电。高气因中课此资件,料中电试管力卷壁高电薄中气、资设接料备口试进不卷行严保调等护试问装工题置作,调并合试且理技进利术行用,过管要关线求运敷电行设力高技保中术护资。装料线置试缆做卷敷到技设准术原确指则灵导:活。在。对分对于线于调盒差试处动过,保程当护中不装高同置中电高资压中料回资试路料卷交试技叉卷术时调问,试题应技,采术作用是为金指调属发试隔电人板机员进一,行变需隔压要开器在处组事理在前;发掌同生握一内图线部纸槽故资内障料,时、强,设电需备回要制路进造须行厂同外家时部出切电具断源高习高中题中资电资料源料试,试卷线卷试缆切验敷除报设从告完而与毕采相,用关要高技进中术行资资检料料查试,和卷并检主且测要了处保解理护现。装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

数据结构期中考试试题及答案

数据结构期中考试试题及答案

一、单项选择题(本题总分 20分,每题 2分)在每小题列出的四个选项中只有 一个选项是符合题目要求的,请将正确选项前的字母。

1.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( D ) 。

A.顺序表 B.链表 C.索引表 D.散列表采用排除法,顺序表存储位置表示数据元素的顺序关系,跟关键字无法;链表的地址是动态分配的;索引表是 按数据元素的关键字排序所得,它的数据元素是没有规律的2.在长度为 n 的顺序表的第 i(1≤i ≤n+1)个位置上插入一个元素,元素的移动次数为( A ) 。

A.n -i+1B.n -iC.iD.i -1代入计算法,我们知道在 i=n+1 时不需要移动元素3.若一棵二叉树的先序遍历序列为 a,b,c ,则由 abc 三个结点构成的二叉树个数为( B ) 。

A.4B.5C.6D.74.三维数组 A[4][5][6]按行优先存储方法存储在内存中,若每个元素占 2 个存储单元,且数组中第一个元素的存 储地址为 130,则元素 A[3][4][5]的存储地址为(B A.370B .368C .366) 。

D.372Loc(3,4,5)=loc(0,0,0)+(3*5*6+4*6+5)*2=130+119*2=368;5.高度为 h 的二叉树(仅含根结点的二叉树高度为 1)的结点最少是多少( D) 。

A. h+1B. 2hC. 2h -1D. h二叉树性质 26. 将两个各有 n 个元素的有序表归并成一个有序表,其最多的比较次数是( A. nB.n+1 C. 2n-1D. n-17. 已知一算术表达式的中缀形式为 A +B *C -D/E ,后缀形式为 ABC *+DE/-,其前缀形式为( C) 。

A )。

A. -+A*BC/DE C. -+*ABC/DEB. –A+B*CD/E D. –A+B*C/DE根据中缀和后缀表达式可画出表达树如下:- + /A* D EBC故前缀表达式为:-+A*BC/DE数据结构期中考试8.下面图示的顺序存储结构表示的二叉树是( A )。

《数据结构》期中题库及答案

《数据结构》期中题库及答案

一、判断题:1、线性表的逻辑顺序与物理顺序总是一致的。

( )2、线性表的顺序存储表示优于链式存储表示。

( )3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

( )4、二维数组是其数组元素为线性表的线性表。

( )5、每种数据结构都应具备三种基本运算:插入、删除和搜索。

( )6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。

( )7、线性表中的每个结点最多只有一个前驱和一个后继。

()8、线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

()9、栈和队列逻辑上都是线性表。

()10、单链表从任何一个结点出发,都能访问到所有结点()11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

()12、快速排序是排序算法中最快的一种。

()13、多维数组是向量的推广。

()14、一般树和二叉树的结点数目都可以为0。

()15、直接选择排序是一种不稳定的排序方法。

()16、98、对一个堆按层次遍历,不一定能得到一个有序序列。

()17、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

()18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。

()19、堆栈在数据中的存储原则是先进先出。

()20、队列在数据中的存储原则是后进先出。

()21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。

()22、哈夫曼树一定是满二叉树。

()23、程序是用计算机语言表述的算法。

()24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。

()25、用一组地址连续的存储单元存放的元素一定构成线性表。

()26、堆栈、队列和数组的逻辑结构都是线性表结构。

()27、给定一组权值,可以唯一构造出一棵哈夫曼树。

()28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

数据结构期中测试题答案

数据结构期中测试题答案

《数据结构》期中测试班级:姓名:学号:一、填空题:1、在数据结构中,从逻辑上可以把数据结构分为集合、线性结构、树形结构和图状结构,其中树形结构和图状结构合称为非线性结构。

数据结构被形式地定义为二元组(D,S),其中D是数据元素的有限集合,S是D上关系的有限集合。

2、算法的五个重要特性是有穷性、确定性、可行性、输入和输出。

3、一个顺序表第一个元素的存储地址是100,每个元素的长度为3,则第6个元素的地址是115。

在顺序表中插入或删除一个元素,需要平均移动(n+1)/2个元素,具体移动的元素个数与插入或删除元素的位置有关。

顺序表中逻辑上相邻的元素的物理位置相邻。

单链表中逻辑上相邻的元素的物理位置不一定相邻。

单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的指针域指示。

在单链表中设置头结点的作用是使第一个结点与其他结点的操作统一。

4、从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较(n+1)/2个结点。

在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是O(n)。

给定有n个元素的线性表,建立一个有序单链表的时间复杂度是O(n2)。

5、已知L是无表头结点的非空单链表,且指针p所指结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

在p所指结点后插入s所指结点:4、1。

在p所指结点前插入s所指结点:7、11、8、4、1。

在表首插入s所指结点:5、12。

在表尾插入s所指结点:11、9、1、6。

1)p->next=s;2)p->next=p->next->next;3)p->next=s->next;4)s->next=p->next;5)s->next=L;6)s->next=NULL;7)q=p;8)while(p->next!=q) p=p->next;9)while(p->next!=NULL) p=p->next;10)p=q;11)p=L;12)L=s;13)L=p;6、已知指针p所指结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。

华中师范大学网络学院《数据结构》试题库及答案

华中师范大学网络学院《数据结构》试题库及答案

华中师范大学网络学院《数据结构》试题库及答案一、选择题1 在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和非内部结构2.算法分析的目的是();A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性3. 算法分析的两个主要方面是()。

A. 空间复杂度和时间复杂度B. 正确性和简单性C.可读性和文档性 D. 数据复杂性和程序复杂性4.一个顺序表(即顺序存储的线性表)第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。

A.100 B.108 C.100 D.1205.在一个长度为n 的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要向后移动()个元素。

A.n-iB.n-i-1C.n-i+1D.i6.从一个长度为n 的顺序表中删除第i个元素(1≤i≤n+1)时,需要向前移动()个元素。

A.n-iB.n-i-1C.n-i-1D.i7.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个元素的算法的时间复杂度是()A.O(n) B.O(n*n) C.O(nlog2n) D.O(log2n)8.线性表的存储结构是一种()的存储结构A.随机存取B.顺序存取C.索引存取D.HASH存取9.线性表的链式存储结构是一种()的存储结构。

A.随机存取B.顺序存取C.索引存取D.HASH存取10.若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是()A.112 B.144 C.148 D.41211.若频繁地对线性表进行插入和删除操作,该线性表应该采用()存储结构。

A.散列 B.顺序 C.链式 D.任意12.线性表若采用链表存储结构时,要求内存中可用存储单元的地址()。

A.必须是连续的B.部分地址必须是连续的C.一定是不边疆的D.连续不连续都可以13.在非空线性链表中,在由p所指的链结点后面插入一个由q所指的链结点的过程是依次执行()A.q->next=p; p->next=q;B.q->next=p->next; p->next=q;C.q->next=p->next; p=q;D.p->next=q; q->next=p;14.若删除非空线性链表中由p所指链结点的直接后继结点的过程是依次执行( )A.r=p->next; p->next=r; call RET(r)B.r=p->next; p->next=r->next; call RET(r)C.r=p->next; p->next=r->next; call RET(p)D.p->next=p->next->next; call RET(p)15.删除一个双链表中结点p(非头结点和尾结点)的操作是( ).A. p->left->right=p->left;p->right->left=p->rightB. p->left->right=p->right;p->right->left=p->ieftC. p->left=NULL;p->right=NULLD. p->right->left=p;p->left->right=p16.在一个双链表中结点p之后插入一个结点s的操作是( )。

数据结构期中考试答案解析

数据结构期中考试答案解析

数据结构期中试卷及答案解析考试说明考试说明:考察前五章小题,难度接近真题。

满分100分,共20道选择题,每题5分。

请在60分钟内完成。

C T(n)=n3+5000nD T(n)=2nlogn-1000n参考答案:C本题考察时间复杂度,多个项相加时,只保留最高阶项由于巴啦啦能量——“常<对<幂<指<阶”,因此T(n)=logn+5000n=O(n)T(n)=n2-8000n=O(n2)T(n)=n3+5000n=O(n3)T(n)=2nlogn-1000n=O(nlogn)所以O(n3)复杂度最大,选C。

3.下列叙述中正确的是()①线性表在链式存储时,查找第 i 个元素的时间同 i 的值成正比②线性表在链式存储时,查找第 i 个元素的时间同 i 的值无关③线性表在顺序存储时,查找第 i 个元素的时间同 i 的值成正比A. 仅①B. 仅②C. 仅③D. ①②③参考答案:A线性表在链式存储时,查找第 i 个元素的时间同 i 的值成正比。

线性表在顺序存储时,查找第 i 个元素的时间同 i 的值无关4.若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

A. 单链表B. 双向链表C. 单循环链表D. 顺序表参考答案:D注意到,题目要求存取第i个元素及其前驱和后继,ABC三个选项找到第i个元素的时间复杂度均为O(n),而D选项对于这3个位置的存取的时间复杂度均为O(1),故选D。

5.静态链表中next域表示的是()A 下一个元素的地址B 下一个元素的值C 当前元素的值D 下一个元素在数组中的位置参考答案:D静态链表一般保存在数组中,它和链表最大的区别是静态链表占用一段固定的区间,所以next域只需要表示下一个元素在数组中的下标即可而不是表示下一个元素的地址,选D。

6.对于不带头结点的链栈L(next域表示该结点下一个元素),top指针指向栈顶元素(栈顶在链头方向),则x结点进栈操作为A top->next=x;top=x;B top=x;top-next=x;C top=x;x->next=top;D x->next=top;top=x;参考答案:D本题考察链栈的操作x入栈之后x下一个元素为原来的top,所以先把x->next=top,然后更新top,栈顶元素指向x。

数据结构_期中试卷(含答案)

数据结构_期中试卷(含答案)

一、选择题(每小题 1分,共10分)1、队列是插入和删除受限的线性表,其删除操作是在线性表的(1)进行。

A.表头 B.表尾 C.任意位置 D.指定位置2、下述哪一条是顺序存储结构的优点(2)。

A.存储密度大 B.插入运算方便C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示3、设有一个栈,元素的进栈次序为A, B, C, D, E,下列哪个是不可能的出栈序列(3)。

A.A, B, C, D, E B.B, C, D, E, AC.E, A, B, C, D D.E, D, C, B, A4、若二叉树的根结点所在的层次为第1层,则该二叉树的第k层上至多有(4)个结点。

2k B.2k C.2k-1 D.2k+1A. 15、设单链表中指针p指向结点m,若要删除m的后继结点(假设该后继结点存在),则需修改指针的操作为(5)。

A.p->next=p->next->next; B.p=p->next;C.p=p->next->next; D.p->next=p;6、下面程序段的时间复杂度为(6)。

for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A.O(m2) B.O(n2) C.O(m+n) D. O(m*n)7、非空的循环单链表head的尾结点指针p满足(7)。

A.p==NULL B.p== head C.p->next==head D.p->next==NULL8、已知二维数组A[0..9,0..9]中,元素a[2][0]的地址为560,每个元素占4个字节,则元素a[1][0]的地址为(8)。

A. 518B. 520C. 522D. 5249、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为(9)。

A.rear%n= = front B.(front+l)%n= = rearC.rear%n -1= = front D.(rear+l)%n= = front10、假设在一棵二叉树中,度为2的结点数为15,度为1的结点数为10个,则该二叉树的分支总数为(10)个。

答案《数据结构》期中参考试卷

答案《数据结构》期中参考试卷

厦门大学《_数据结构_》课程期中试卷信息科学与技术学院计算机科学系__年级___专业主考教师:____试卷类型:(A卷/B卷)任选5题((1,2),(3,4),(5,6),(7,8)中必须至少做一题),每题20分。

一、试设计一个双栈结构,它有两个端点end1和end2,满足从end1端插入的表目只能从end1端被删除,从end2端插入的表目只能从end2端被删除,并给出指定端i(i=1,2)的进栈push(S,e,i)和出栈pop(S,e,i)操作的算法描述。

再设计一个算法,它能够将一个有限长度的数据序列a1,a2,…,an,按照下标奇偶序号交替的方式将ai (1≤i≤n)分别从两端入栈,然后将数据出栈以实现整个数据序列的倒排。

该双栈宜采用顺序存储、栈顶迎面增长的存储方式,其形式定义如下:#define STACK_SIZE 1000typedef struct {SElemType base[STACK_SIZE];SElemType *top[3]; //top[1]表示end1端的栈顶指针,top[2]表示end2端的栈顶指针//初始值分别为base和base+STACK_SIZE-1}DSqStack;指定端i(i=1,2)的进栈push(S,e,i)和出栈pop(S,e,i)操作的算法描述如下:Status push(DSqStack &S, SElemType e, int i) {if ( S.top[1]-S.top[2]==1 ) //栈满exit(OVERFLOW);else if (i==1)*S.top[1]++ = e;else if (i==2)*S.top[2]-- = e;elsereturn ERROR;return OK;}Status pop(DSqStack &S, SElemType &e, int i) {if (i==1) {if ( S.top[1] == S.base ) return ERROR;e = *--S.top[1] = e;return OK;}else if (i==2) {if (S.top[2] == S.base+STACK_SIZE-1) return ERROR;e = *++S.top[2];return OK;} elsereturn ERROR;}基于上述结构的数据序列的倒排算法描述如下:Status resevers(DSqStack &S, SElemType a[], int n) {for (j=1;j<=n;j++)if (j%2==0) push(S, a[j-1],2);else push(S, a[j-1],1);for (j--;j>=1;j--)if (j%2==0) pop(S, a[n-j],2);else pop(S, a[n-j],1);return OK;}二、利用两个栈S1、S2模拟一个队列(如客户队列)时,如何用栈的运算实现队列的插入、删除运算。

数据结构期中考试答案

数据结构期中考试答案

9. 在 单 链 表 L 中 , 指 针 p 所 指 结 点 有 后 继 结 点 的 条 件 是 :
__(14)p->next!=NULL

10. 串是有 n(n>=0)个字符组成的有限序列;在 C 语言里用 (15)数组
存储串,并在串末尾加上 (16) ‘\0’ 作为串的结束标志。
11. 串的链式存储结构包括 (17)单字符结点链 和 (18)块 链。 12. 稀疏矩阵的压缩存储一般采用 (19)三元组 顺序表。 13. 递归算法直接或者间接调用了 (20)函数本身 。 二、 综合题(总分 60) 1.设计一数据结构,用来表示某一银行储户的基本信息: 账号、姓名、开
9. rear 是指向以循环链表表示的队列的队尾指针,EnLQueue 函数实现把 x 插入到队尾
的操作。DeLQueue 函数实现删除队头元素并赋给 x 的操作。根据题意按标号把合适的
内容填写到算法后面相应标号的位置。(队列元素的数据类型为 ElemType)【6 分】 void EnLQueue(ListNode *rear, ElemType x)
6. 在单链表中设置头结点的作用是_(9)使得删除插入等操作处理方法
相同
7. 栈是一种特殊的线性表,允许插入和删除操作的一端称为 (10)栈
顶 ,不允许插入和删除操作的一端称为 (11)栈底 。
8. 在顺序循环列队中,队空标志为____(12_cou(13)_Q->rear==Q->front&&count>0_________。
《数据结构》期中考试试卷
一、 填空题(每空 1 分,共 20 分)
1. 数据的物理结构包括 (1)顺序 的表示和 (2)链式 的表示。

数据结构期中考试

数据结构期中考试
typedef struct node {
DataType data;
Structnode *next;
} LinkNode,* LinkList;
1.编写算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。
2.编写算法,在一个头指针为head且带头结点的单链表中,删除所有结点数据域值为x的结点。函数原型为:LinkList delnode (LinkList head,DataType x)
1.阅读下列算法,并回答问题:
(1)假设L=(3,7,7,11,20,20,20,51,51),写出执行函数f1(&L)后的L;
(2)简述f1的功能。
void f1(SeqList*L)
{∥L为非空的有序表
int i=1,k=0;
while(i<L->length)

if(L->data[i]!=L->data[k])
9.已知三对角矩阵A[10][10]的每个元素占2个单元,现将其三条对角线上的元素逐行存储在起始地址为1000的连续的内存单元中,则元素A[6][7]的地址为______。
10.已知广义表A=(x,((a,b),c,)),函数head(head(tail(A)))的运算结果是______。
三、算法阅读题(本大题共3小题,每小题10分,共30分)
typedeBiblioteka structnode{char data[NodeSize];
struct node*next;
}LinkStrNode;
如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()
A.1/3B.1/2
C.2/3D.3/4
9.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+l,则x进栈的正确操作是()

数据结构期中测试题答案

数据结构期中测试题答案
《数据结构》期中测试
班级:
姓名:
学号:
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资0配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高高与中中带资资负料料荷试试下卷卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试.,卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试5交写卷、底重保电。要护气管设装设线备置备4敷高动调、设中作试电技资,高气术料并中课3中试且资件、包卷拒料中管含试绝试调路线验动卷试敷槽方作技设、案,术技管以来术架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

数据结构期中试卷参考答案

数据结构期中试卷参考答案

1.评价算法优劣的基本标准有哪些?请就每一项给出简短说明。

答:(1)正确性:对输入的合法数据(包括边界情况),都能有正确的输出结果。

(2)健壮性:对输入的非法数据,算法能适当地做出反应或进行处理,而不是产生莫名其妙的输出结果。

(3)可读性:有助于人对算法的理解,易于发现错误,便于调试和修改。

(4)效率与低存储量需求:效率和存储量需求分别指算法执行所需要的时间和最大存储空间。

2.已知一棵二叉树的中序和后序序列分别为GLDHBEIACJFK和LGHDIEBJKFCA,(1)画出这棵二叉树,对这棵二叉树的构造过程给出一个简短说明;(2)将这棵二叉树理解为“孩子-兄弟法”表示的森林,画出这个森林。

答:(1)构造出的二叉树如图1所示:图1构造过程说明:①后序序列的最后一个元素为A, 得知二叉树的根为A;②在中序序列中找到树根A, A左侧的部分GLDHBEI为左子树的中序序列,A右侧的部分CJFK为右子树的中序序列。

并得知左子树7个节点,右子树4个节点;③后序序列的前7个节点LGHDIEB是左子树的后序序列,后续序列的后4个节点JKFC是右子树的后序序列;④根据中序GLDHBEI后序LGHDIEB求左子树,根据中序CJFK后序JKFC 求右子树。

依此类推,便可唯一构造出此二叉树。

(2)“孩子-兄弟表示法”,又称二叉链表表示法,链表中结点的两个链域分别指向该结点的第一个孩子和下一个兄弟结点,一棵二叉树与森林一一对应,该森林如图2所示:图23.字符A,B,C,D,E,F,G的使用频度分别是15,8,10,21,6,19,3,写出A,B,C,D,E,F,G的Huffman编码,列出编码过程,解释Huffman 有什么优点。

解:编码过程如下:各字符编码为字符 A B C D E F G编码011 110 010 00 1111 10 1110优点:Huffman编码为前缀码,它根据结点出现的频度由低到高编码,则可以使频度较高的结点有尽可能短的编码,从而使整个发送文件的总编码长度尽可能短。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华东师范大学期中试卷2007—2008学年第二学期课程名称:______数据结构_____姓名:___________________ 学号:__________________专业:___________________ 年级/班级:__________________课程性质:专业必修一、单项选择题(共18分,每题3分)1. Stack has the property called last in and first out, then which of the following describes the property of Queuea) Last in and first outb) First in and last outc) First in and first out2. A list of items from which only the item most recently added can be removed is known as a ( )a) stackb) queuec) circular linked listd) list3. If the following function is called with a value of 2 for n, what isthe resulting outputvoid Quiz( int n ){if (n > 0){cout << 0;Quiz(n - 1);cout << 1;Quiz(n - 1);}}a) 00011011b)c)d) 01100011e) 0011014. A heap is a list in which each entry contains a key, and, for all positions i in the list, the key at position i is at lease as large as the keys in positions 2i+2 and ( ), provided these positions exist in the list.a) 2ib) 2i-1c) 2i-2d) 2i+15. Given the recursive functionint Func( /* in */ int i,/* in */ int j ){if (i < 11)if (j < 11)return i + j;elsereturn j + Func(i, j - 2);elsereturn i + Func(i - 1, j);}what is the value of the expression Func(12, 15)a) 81b) 62c) 19d) 72e) none of the above6. Shell sort finally perform an ordinary ( )a) Heap sortb) Insertion sortc) Selection sortd) Quick sort二、填空题(共22分,每空2分)1. If the following function is called with a value of 75 for n, theresulting output is_______【1】_________.void Func( /* in */ int n ){if (n > 0){Func(n / 8);cout << n % 8;}}2. Give the output of the following program. ________【2】__________. template <class List_entry>void print(List_entry &x){cout<<x<<" ";}void main( ){List<int> mylist;for(int i=0;i<5;i++)(i,i);cout<<"Your list have "<<()<<" elements:"<<endl;(0,i);(2,i);(i,i);(print);( );for(i=1;i<3;i++)(i, i);(print);}3. Read the following program and fill the blank to complete the method.template <class Node_entry>struct Node {Post: The current Node pointer references the Node at position . */ {if (current_position <= position)for ( ; current_position != position; current_position++)【3】 ;elsefor ( ; current_position != position; 【4】 ) current = current->back;}4. Read the following program and fill the blank to complete the method.Error_code recursive_binary_2(const Ordered_list &the_list, constKey &target, int bottom, int top, int&position)/* Pre: The indices bottom to top define the range in the list to search for the target .Post: If a Record in the range from bottom to top in the list has key equal totarget , then position locates one such entry, and a code ofsuccess is returned. Otherwise, not_present is returned, andposition is undefined.Uses: recursive_binary_2, together with methods from the classes Ordered_list and Record . */{Record data;if (bottom <= top) {int mid = 【5】 ;(mid, data);if (data == target) {【6】 ;return success;}else if (data < target)return recursive_binary_2(the_list, target, 【7】 , top, position);elsereturn recursive_binary_2(the_list, target, bottom, 【8】 , position);}else return not_present;}5. The following program is the divide_from function of Merge Sort. Pleasefill the blank to complete the function.Node<Record> * divide_from (Node<Record> *sub_list)/* Post: The list of nodes referenced by sub_list has been reduced to its first half, and a pointer to the first node in the second half of the sublist is returned. If the sublist has an odd number of entries, thenits first half will be one entry larger than its second.*/{Node<Record> *position, position = midpoint->next;while ( 【9】 ) {position = position->next;if (position != NULL) {【10】 ;position = position->next;}}second_half = 【11】 ;midpoint->next = NULL;return second_half;}三、编程题(共60分)1.(16分)Apply quicksort to the following list of 14 names, where the pivot in each sublist is chosen to be (a)the first key in the sublist and (b)the last key in the sublist. In each case, draw the tree of recursive call.Tim Dot Eva Roy Tom Kim Guy Amy Jon Ann Jim Kay Ron Jan2.(16分)Write the following overload operator for stacks:1)bool Stack::operator == (const Stack & s);2)bool Stack::operator += (const Stack & s);Using recursion, implement the following functions:int Max (Node *f ); int Num (Node *f ); If success returns the数据结构期中考卷参考答案一、单项选择题(3×6=18)1.c2.a3.e4.d5.a6.b二、填空题(2×11=22)【1】113【2】Your list have 5 elements:1 2 4 3【3】current = current->next【4】current_position--【5】(bottom + top)/2【6】position = mid【7】mid + 1【8】mid – 1【9】position != NULL 【10】midpoint = midpoint->next;【11】midpoint->next三、编程题(16×2+10+18=60)1,a) P344b)2.1) bool Stack::operator==(const Stack &s){Stack s1=s, s2=*this;while (!( ))if ( )!= ( )) return false;else { ( ); ( );}}2) bool Stack:: operator+=(const Stack &s) {Stack ss=s, s2;while (!( )){( ));( );}while (!( )){if(push( ) == outcome) return false;( );}}3.Template <class T> void reverse (Queue<T> & q){Stack<T> s ; T data;while ( !( )){ (data );( data);( );}while (!( )){( ));( );}}4.int Max (Node *f ) {if ( f ->next == NULL ) return f ->entry;int temp = Max ( f ->next );if ( f ->data > temp ) return f ->entry;else return temp;}int Num ( Node *f ) {if ( f == NULL ) return 0;return 1+ Num ( f ->next );}Node * Search ( Node *f, int x ){if ( f == NULL)return NULL;elseif ( f →entry == x ) return f;else return Search( f→next , x); }。

相关文档
最新文档