数据结构-2002_习题5

合集下载

2002级数据结构试题答案

2002级数据结构试题答案

计算机2002-123数据结构试题参考答案一、单项选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1、D2、B3、B4、B5、C6、B7、C8、D9、A 10、D二、二、填空(本大题共10小题,每小题1分,总计10分)1、连通分量2、结点个数/23、6 14、(n-1)/25、EF-G*ABC-/+D*6、11407、2K-1 2K-18、堆栈9、动态查找表10、先序遍历中序遍历三、解答下列问题(本大题共6小题,每小题5分,总计30分)1、因为:H(19)=19 MOD 13=6H(14)=14 MOD 13=1H(23)=23 MOD 13=10H(1)=1 MOD 13=1 冲突所以(H(1)+1)MOD 16=2H(68)=68 MOD 13=3H(20)=20 MOD 13=7H(84)=84 MOD 13=6 冲突所以(H(84)+1)MOD 16=7 冲突所以(H(84)+2)MOD 16=8H(27)=27 MOD 13=1 冲突所以(H(27)+1)MOD 16=2 冲突所以(H(27)+2)MOD 16=3 冲突所以(H(27)+3)MOD 16=4H(55)=27 MOD 13=3 冲突所以(H(55)+1)MOD 16=4 冲突所以(H(55)+2)MOD 16=5 冲突H(11)=11 MOD 13=11H(10)=10 MOD 13=10 冲突所以(H(10)+1)MOD 16=11 冲突所以(H(10)+2)MOD 16=12 冲突H(79)=79 MOD 13=1 冲突所以(H(79)+1)MOD 16=2 冲突所以(H(79)+2)MOD 16=3 冲突所以(H(79)+3)MOD 16=4 冲突所以(H(79)+4)MOD 16=5 冲突所以(H(79)+5)MOD 16=6 冲突所以(H(79)+6)MOD 16=7 冲突所以(H(79)+7)MOD 16=8 冲突所以(H(79)+8)MOD 16=9 冲突(2)查找成功的平均查找长度为:2、30 10 1 0 10 1 0 10 1 0 1编码为:7为:00008为:000118为:00132为:013为:10005为:100112为:10126为:114、iclosedg23456U V-U KAdjvex lowcost 1161∞1∞119121{1}{2,3,4,5,6}2Adjvex lowcost 02516119211{1,2}{3,4,5,6}3Adjvex lowcost 0026119211{1,2,3}{4,5,6}4Adjvex lowcost 000418211{1,2,3,4}{5,6}6Adjvex lowcost0004180{1,2,3,4,6}{5 }5 61313 78141282352010304050601020301020304050所以最小生成树为:5、第一趟:[68 11 69 23 18] 70 [93 73]第二趟:[18 11 23 ] 68 [ 69 ] 70 [93 73 ]第三趟:11 18 23 68 69 70 [ 93 73]第四趟:11 18 23 68 69 70 73 93四、算法设计题(本大题共2小题,总计15 分)1、(7分)#define size 100int correct(char exp[size],int len){ char s[size];int top=0,I=0,tag=1;while(I<len && tag!=0){ if(exp[I]==’(‘ || exp[I]==’[‘ || exp[I]==’{‘}{ top++;s[top]=exp[I];}if(exp[I]==’)’){ if(s[top]==’(‘) top--;else tag=0;}if(exp[I]==’)’){if(s[top]==’[‘ ) top--;else tag=0;}if(exp[I]==’)’){if(s[top]==’{‘ } top--;else tag=0;}I++;}if(top>0)top=0;return tag;}2、(8分)#include "iostream.h"#define NULL 0#define N 10typedef struct node{ ELEMTP data;struct node *lchild,*rchild;}TNode;//求给定结点的所有祖先和祖先数int count_zx(TNode *t,ELEMTP x){ struct {TNode *pp; int tag; }s[N],ss;int top,n;TNode *p; top=0; n=0; p=t;while( p || top>0){ while(p){ top++;s[top].pp=p;s[top].tag=0;p=p->lchild; }ss=s[top]; top--;if(ss.tag==0){ ss.tag=1; top++;s[top]=ss; p=ss.pp->rchild;}else {if(ss.pp->data==x)break; p=NULL;} }cout<<"the zx wei:"<<endl;for(n=1;n<=top;n++) {p=s[n].pp;cout<<p->data<<" "; }return top;}五.(10分)已知二叉树每个非终端节点都有左孩子和右孩子,试回答下列问题:解:(1)由已知:因为二叉树的每个非终端结点都有左右孩子,可知此二叉树的所有非终端结点的度都为2,无度为1的结点,又因为此树有n个叶结点,根据二叉树的性质3知度都为2的结点数为n-1个,所以此二叉树共有n+n-1=2n-1个结点。

数据结构(C语言版)第2版习题-答案

数据结构(C语言版)第2版习题-答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (14)第4章串、数组和广义表 (27)第5章树和二叉树 (34)第6章图 (44)第7章查找 (55)第8章排序 (66)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

数据结构 习题 第五章 数组和广义表

数据结构 习题 第五章  数组和广义表

第 5 章数组和广义表一、选择题1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

【燕山大学 2001 一、2 (2分)】A. 13B. 33C. 18D. 402. 有一个二维数组A[1:6,0:7] 每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组的体积是(①)个字节。

假设存储数组元素A[1,0]的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是(②)。

若按行存储,则A[2,4]的第一个字节的地址是(③)。

若按列存储,则A[5,7]的第一个字节的地址是(④)。

就一般情况而言,当(⑤)时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等。

供选择的答案:【上海海运学院 1998 二、2 (5分)】①-④: A.12 B. 66 C. 72 D. 96 E. 114 F. 120G. 156 H. 234 I. 276 J. 282 K. 283 L. 288⑤: A.行与列的上界相同 B. 行与列的下界相同C. 行与列的上、下界都相同D. 行的元素个数与列的元素个数相同3. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。

A. BA+141B. BA+180C. BA+222D. BA+225【南京理工大学 1997 一、8 (2分)】4. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。

【福州大学 1998 一、10 (2分)】A. 808B. 818C. 1010D. 10205. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。

数据结构五详细答案

数据结构五详细答案

习题 51.填空题(1) __________________________________________________________________________ 已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为( _______________________ )。

答案:129(2) 3 个结点可构成( ___________ )棵不同形态的二叉树。

答案: 5(3) __________________________________________________________________________ 设树的度为5,其中度为1~5 的结点数分别为6、5、4、3、2 个,则该树共有( ________________ ) 个叶子。

答案:31(4)在结点个数为n (n>1)的各棵普通树中,高度最小的树的高度是( ___________ ),它有( ____________ )个叶子结点,( ______________ )个分支结点。

高度最大的树的高度是( ____________ ),它有( ____________ )个叶子结点,( ______________ )个分支结点。

答案: 2 n-1 1 n 1 n-1( 5)深度为k 的二叉树,至多有( ______________ )个结点。

答案:2k-1(6)(7)有n 个结点并且其高度为n 的二叉树的数目是( _________________ ) 。

n-1答案:2( 8)设只包含根结点的二叉树的高度为0,则高度为k 的二叉树的最大结点数为( ___________ ),最小结点数为( ______________ ) 。

答案:2k+1-1 k+1(9)将一棵有100个结点的完全二叉树按层编号,则编号为49的结点为X,其双亲PARENT(X )的编号为()。

答案:24(10)已知一棵完全二叉树中共有______________ 768 个结点,则该树中共有( )个叶子结点。

数据结构习题(包含全部答案解析)

数据结构习题(包含全部答案解析)

数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。

A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。

A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。

A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。

A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。

A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。

A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。

上海大学2002数据结构考研试题

上海大学2002数据结构考研试题

上海大学2002数据结构考研试题一、(8分)请写出应填入下列叙述中()内的正确答案。

排序有各种各样的方法,如插入排序、快速排序、堆排序等。

设一数组中原有数据如下:15,13,20,18,12,60下面是一组有不同排序方法进行一遍排序后的结果。

()排序的结果为:12,13,15,18,20,60()排序的结果为:13,15,18,12,20,60()排序的结果为:13,15,20,18,12,60()排序的结果为:12,13,20,18,15,60二、(12分)请写出应填入下列问题1和2的叙述中()内的正确答案,并解答问题3。

1、(2分)组成循环链表的可利用空间表当附加了条件(A)和(B)时,首次拟合法即为最佳拟合法。

2、(2分)二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为:(C)、(D)。

3、(8分)假设利用边界标识法,并已首次拟合策略分配,已知在某个时刻可利用空间表的状态如图1所示:图1:可利用空间表的状态图(注:存储块头部size域的值和申请分配的存储量均包括头部和尾部的存储空间。

)请画出:(1)当系统回收一个起始地址为559,大小为45的空闲块之后的链表状态;(2)系统继而在接受存储块大小为100的请求后,又回收一个起始地址为515,大小为44的空闲块之后的链表状态。

三、(10分)请写出应填入下列叙述中()内的正确答案。

某一工程作业的网络图如图2所示,其中箭头表示作业,箭头边的数字表示完成作业所需的天数。

箭头前后的圆圈表示事件,圆圈中的数字表示事件的编号。

用事件编号的序列(例如0-2-7-9-11)表示进行作业的路径。

完成此工程的关键路径是(A)完成此工程所需的最少天数为(B)天,此工程中具有最大充裕天数的事件是(C),充裕天数是(D)。

关键路径上的事件的充裕天数是(E)。

图2:工程作业的网络图四、(10分)按下列要求构造二叉数。

1、(4分)已知一棵二叉树的前序序列为ABDEGCF,中序序列为DBGEACF,请写出该二叉树后序序列。

数据结构(第二版)习题库章节练习题1-9章全

数据结构(第二版)习题库章节练习题1-9章全

数据结构(第二版)习题库章节练习题1-9章全数据结构(第二版)习题库章节练习题1-9章全第一章:引论引论部分为数据结构的开篇,主要介绍了数据结构的基本概念和分类。

在这一章中,我们学习了数据结构的定义、作用以及与算法的关系。

接下来,将为你详细介绍第一章的习题内容。

1. 习题1-1题目:请简述数据结构的定义和作用。

要求:通过一段简洁清晰的语言来回答问题,并给出你的理解。

答案:数据结构是计算机中存储、组织和管理数据的方式。

它旨在将数据以特定的方式进行排列,以便高效地进行存储和检索。

数据结构作为计算机科学的基础,为我们解决实际问题提供了有效的工具和方法。

2. 习题1-2题目:你认为数据结构与算法之间的关系是什么?要求:结合实际案例,详细解释数据结构与算法之间的相互依赖关系。

答案:数据结构和算法是密不可分的,它们之间存在着相互依赖的关系。

数据结构提供了算法操作的基础,而算法则对数据结构进行操作和处理。

例如,在搜索算法中,我们需要合适的数据结构来存储和组织数据,以便能够高效地进行搜索操作。

而无论是数组、链表还是树,都需要通过算法来进行增删改查等操作。

第二章:算法分析算法分析是数据结构中的重要概念,它涉及到算法的运行时间和空间效率。

在这一章中,我们将学习算法分析的基本方法和常用技巧,并通过习题来巩固所学知识。

3. 习题2-1题目:请解释渐进记号中的"O"表示什么意思。

要求:简明扼要地回答问题,并辅以例子说明。

答案:在算法分析中,"O"表示渐进上界。

它描述了算法在最坏情况下的运行时间复杂度。

例如,如果一个算法的时间复杂度为O(n),那么说明该算法的运行时间与输入规模n成正比。

即使输入规模变大,算法的运行时间也不会超过n的某个常数倍。

4. 习题2-2题目:请说明算法的平均情况分析与最坏情况分析有何区别?要求:用简洁的语言说明两种分析方法的不同之处,并给出具体的示例。

答案:算法的平均情况分析和最坏情况分析的区别在于对输入数据的预先假设。

数据结构课后习题第五章

数据结构课后习题第五章

习题5一、选择题1.洗漱矩阵的一半压缩方法是( )。

A.二维数组B.广义表C.三元组表D.一维数组2. 设矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡nm n n a a a ...a ..........…1111是一个对称矩阵,为了节省空间,将其下三角部分按行有先存放在一维数组B 中。

对下三角矩阵中任一元素a ij (i ≥j ),在一维数组B 中下表k 的值是( )。

A. i(i-1)/2+j-1B. i(i-1)/2+jC.i(i+1)/2+j-1D. i(i+1/2+j3. 在稀疏矩阵的三元组表示法只能怪,每个三元组表示( )。

A. 矩阵中数据元素的行号和值B. 矩阵中非零元素的值C. 矩阵中非零元素的行号和值D. 矩阵中非零元素的行号、列号和值4. 对稀疏矩阵进行压缩存储是为了( )。

A. 便于进行矩阵运算B. 便于输入和输出C. 节约存储空间D.降低运算的时间复杂度5. 假设以行序列为主序存储二维数组A=array[1..100..,1..100],设每个数据元素占2B 的存储单元,基地址为10,则LOC[5,5]=( )。

A. 808B. 818C. 1010D. 10206. 设有数组A[i ,j],数组的每个元素长度为3个字节,i 的值为1到8,j 的值为1到10,数组从内存首地址BA 开始顺序存放,当用以列为主序存放时,元素A[5,8]的存储首地址为( )。

A. BA+141B. BA+180C. BA+222D. BA+2257. 设有一个10阶的对称矩阵A ,采用压缩存储方式,以行序为主存储。

a 11为第一元素,其存储地址为1,每个元素占一个字节地址空间,则a 85的地址为( )。

A. 13B. 33C. 18D. 408.广义表是线性表的推广,他们之间的区别在于( )。

A. 能否使用子表B. 能否使用原子项C. 表的长度D. 是否能为空9. 已知广义表:L=((x ,y ,z ),a ,(u ,t ,w )),从L 中取出原子项t 的运算是( )。

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