ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:108.58KB ,
资源ID:10559569      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10559569.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构.docx

1、数据结构数据结构一、选择题(每题3分,共30分)1、在树形结构中,数据元素间存在()的关系。、一对一、一对多、多对多、除同属一个集合外别无关系2、下列说法中错误的是()。、数据对象是数据的子集、数据元素间关系在计算机中的映象即为数据的存储结构、非顺序映象的特点是借助指示元素存储地址的指针来表示数据元素间逻辑关系、抽象数据类型指一个数学模型及定义在该模型上的一组操作3、下列不属算法特性的是()。、有穷性、确定性、零或多个输入、健壮性4、在长为n的顺序表中删除一个数据元素,平均需移动()个数据元素。、n、n-1、n/2、(n-1)/25、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插

2、入和删除运算,则利用()存储方式最节省时间。、顺序表、双链表、带头结点的双向循环链表、单循环链表6、在一个可存放n个数据元素的顺序栈中,假设以高地址端为栈底,以top为栈顶指针,当向栈中压入一个数据元素时,top的变化是()。、不变、top=n、top+、top-7、设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则删除一个结点的操作是()。、rear=front-next、rear=rear-next、front=front-next、front=rear-next8、判定一个栈顶指针为S且不带头结点的链栈为空栈的条件是()。、S、S-next、S-next=NULL

3、、!S9、设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。、front-next、rear-next、front=rear、front!=rear10、串的长度是指()。A、串中所含不同字母的个数B、串中所含字符的个数C、串中所含不同字符的个数D、串中所含非空格字符的个数二、(10分)设为正整数,试确定如下程序段中语句“x+;”的频度。for (i=1;i=n;i+)for (j=1;j=i;j+)for (k=1;k=n;k+)x+;三、(15分)设单链表如图所示:画出执行如下程序段后,各指针变量及单链表的示意图。p=L;for(

4、i=1;idata=i*3;q-next=p-next;p-next=q;四、(10分)设元素的入栈次序为a、b、c、d,且在入栈的过程中允许出栈,试写出所有不可能得到的出栈序列。五、(15分)设a=data structure,b=computer,c=demo,试求: StrLength(a)的返回值; 执行StrInsert(b,4,c)后串b的值; Index(a,u,10)的返回值; 执行Replace(a,structure,b)后串a的值; 执行SubString(s,b,3,3)后串s的值。六、(20分)已知单链表L中含有三类字符的数据元素,即字母字符、数字字符和其他字符,试编

5、写算法将L分割为三个循环链表,其中每个循环链表只含一类字符。答案一、选择题1、B2、B3、D4、D5、A6、D7、C8、D9、C10、B二、设为正整数,试确定如下程序段中语句“x+;”的频度。for (i=1;i=n;i+)for (j=1;j=i;j+)for (k=1;k=n;k+)x+;答:三、设单链表如图所示:画出执行如下程序段后,各指针变量及单链表的示意图。p=L;for(i=1;idata=i*3;q-next=p-next;p-next=q;答:四、设元素的入栈次序为a、b、c、d,且在入栈的过程中允许出栈,试写出所有不可能得到的出栈序列。答:dabc dacb dbac dbc

6、a dcab cadb cabd cdab bdac adbc五、设a=data structure,b=computer,c=demo,试求: StrLength(a)的返回值; 执行StrInsert(b,4,c)后串b的值; Index(a,u,10)的返回值; 执行Replace(a,structure,b)后串a的值; 执行SubString(s,b,3,3)后串s的值。答:14comdemoputer12data computermpu六、已知单链表L中含有三类字符的数据元素,即字母字符、数字字符和其他字符,试编写算法将L分割为三个循环链表,其中每个循环链表只含一类字符。答:voi

7、d partition(LinkList &L,LinkList &LC,LinkList &LN,LinkList &LO)/L带头结点,LC为含字母字符的循环链表,LN为含数字字符的循环链表,/LO为含其他字符的循环链表InitCL(LC);InitCL(LN);InitCL(LO); /对三个循环链表进行初始化p=L-next;/p指向第一个结点while (p)q=p;p=p-next;/q指向当前待处理结点,p指向剩余链表if (q-data=A & q-datadata=a & q-datanext=LC-next;LC-next=q;/字母字符入循环链表LCelse if (q-

8、data=0 & q-datanext=LN-next;LN-next=q;/数字字符入循环链表LNelse q-next=LO-next;LO-next=q;/其他字符入循环链表LO/whilefree(L);/释放单链表L的头结点/partitionvoid InitCL(LinkList &L)/对循环链表进行初始化L=(LinkList)malloc(sizeof(LNode);if (!L) exit(OVERFLOW);L-next=L;一、选择题(每题3分,共30分)1、对稀疏矩阵进行压缩存储的目的是()。 、便于进行矩阵运算、便于输入和输出、节省存储空间、降低运算的时间复杂度2

9、、设二维数组A58按行优先顺序存储,每个数据元素占2个字节,首地址即元素A00的起始地址为S,则元素A36的起始地址为()。、S+66、S+60、S+33、S+303、设广义表L=(a,(),b,(c,d,e),则Head(Tail(Tail(L)的值为()。、b、c、(c)、(c,d,e)4、下列叙述中错误的是()。、对数组一般不做插入和删除操作、顺序存储的数组是一个随机存取结构、空的广义表没有表头和表尾、广义表的表尾可能是原子也可能是子表5、一棵度为3的树中,度为3的结点有2个,度为2的结点有2个,度为1的结点有2个,则度为0的结点有()。、5个、6个、7个、8个6、已知二叉树T的先序序列

10、为abdegcfh,中序序列为dbgeachf,则T的后序序列为()。、gedhfbca、dgebhfca、abcdefgh、acbfedhg7、下列叙述中错误的是()。、由树的先序遍历序列和后序遍历序列可以惟一确定一棵树、二叉树不同于度为2的有序树、深度为k的二叉树上最少有k个结点、在结点数目相同的二叉树中,最优二叉树的路径长度最短8、设无向图的顶点个数为n,则该图最多有()条边。、n-1、n(n-1)/2、n(n+1)/2、n29、设有无向图G=(V,E),其中顶点集合V=a,b,c,d,e,f,边集合E=(a,b), (a,e), (a,c), (b,e), (c,f), (f,d),

11、(e,d)。对G进行深度优先遍历,正确的遍历序列是()。、a,b,e,c,d,f、a,c,f,e,b,d、a,e,b,c,f,d、a,e,d,f,c,b10、设有向图G中有五个顶点,各顶点的度分别为3、2、2、1、2,则G中弧数为()。、4条、5条、6条、无法确定二、(10分)设有上三角矩阵(aij)nn,将其上三角元素逐行存于数组Bm中(m充分大),使得Bk=aij,求用i和j表示k的下标变换公式。三、(10分)设二叉树如下,试对其进行先序线索化,画出相应的先序线索二叉树存储结构示意图。四、(15分)设用于通信的电文由8个字母组成,字母在电文中出现的频率分别为0.12、0.31、0.22、0

12、.02、0.03、0.08、0.17、0.05。试为这8个字母设计哈夫曼编码,要求画出设计过程中所构造的哈夫曼二叉树。五、(15分)设有AOE网如下,要求:求图中各顶点代表的事件的最早发生时间和最晚发生时间;求图中各弧代表的活动的最早开始时间和最晚开始时间;列出各条关键路径。六、(20分)设二叉树以二叉链表存储,试设计算法,实现二叉树的层序遍历。答案:一、选择题C、B、D、D、C、B、D、B、D、B二、设有上三角矩阵(aij)nn,将其上三角元素逐行存于数组Bm中(m充分大),使得Bk=aij,求用i和j表示k的下标变换公式。答:三、设二叉树如下,试对其进行先序线索化,画出相应的先序线索二叉树

13、存储结构示意图。答:四、设用于通信的电文由8个字母组成,字母在电文中出现的频率分别为0.12、0.31、0.22、0.02、0.03、0.08、0.17、0.05。试为这8个字母设计哈夫曼编码,要求画出设计过程中所构造的哈夫曼二叉树。答:编码:0.02: 001000.03: 001010.05: 00110.08: 0000.12: 1000.17: 1010.22: 010.31: 11五、设有AOE网如下,要求:求图中各顶点代表的事件的最早发生时间和最晚发生时间;求图中各弧代表的活动的最早开始时间和最晚开始时间;列出各条关键路径。答:关键路径:v1v2v5v7关键路径:v1v3v6v7六

14、、设二叉树以二叉链表存储,试设计算法,实现二叉树的层序遍历。答:Status LevelOrderTraverse(Bitree T,Status (*visit)(TElemType e) if (!T) return OK; /空二叉树 InitQueue(Q); /初始化辅助队列 if (!visit(T-data) return ERROR; /访问根结点 EnQueue(Q,T); /指向结点的指针入队 while (!QueueEmpty(Q) /若队列非空 DeQueue(Q,p); /队头指针出队 if (p-lchild)/先访问p所指结点的左孩子,再访问其右孩子 if (!

15、visit(p-lchild-data) return ERROR; EnQueue(Q,p-lchild); /if if (p-rchild) if (!visit(p-rchild-data) return ERROR; EnQueue(Q,p-rchild); /if /while return OK;/LevelOrderTraverse一、选择题(每题3分,共30分)1、m阶树中的一个分支结点最多含()个关键字。、m-1、m、m+1、m/2-1、m/2、m/2+12、设有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表,至少要进行()次探测。、k-1、k、k+1、k(k

16、-1)/23、设表中含100个数据元素,用折半查找法进行查找,则所需最大比较次数为()。、50、25、10、74、设哈希表地址范围为019,哈希函数H(key)=key%17,使用二次探测再散列法处理冲突。若表中已存放有关键字值为6、22、38、55的记录,则再放入关键字值为72的记录时,其存放地址应为()。、2、3、4、7、8、以上都不对5、直接插入排序在最好情况下的时间复杂度为()。、O(logn)、O(n)、O(n*logn)、O(n2)6、将两个各有n个元素的有序表归并成一个有序表,最少进行()次比较。、n、2n-1、2n、n-17、设有一组关键字值(46,79,56,38,40,84

17、),则用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。、38,40,46,56,79,84、40,38,46,79,56,84、40,38,46,56,79,84、40,38,46,84,56,798、外部排序是指()。、在外存上进行的排序方法、不需要使用内存的排序方法、数据量很大,需要人工干预的排序方法、排序前后数据在外存,排序时数据调入内存的排序方法9、下述文件中适合于磁带存储的是()。、顺序文件、索引文件、散列文件、多关键字文件10、ISAM文件和VSAM文件属于()。、索引非顺序文件、索引顺序文件、顺序文件、散列文件二、(10分)设用堆排序法对给定关键字序列(,)按升序进

18、行排序,试画出初始堆。三、(10分)画出对长度为的有序表进行折半查找的判定树,并求等概率下查找成功时的平均查找长度。四、(15分)设内存有大小为个记录的区域可供内部排序之用,文件的关键字序列为:(18,32,56,40,23,11,8,99,58,36,21,7,4,15,19,87,73,52,82,63),要求用置换选择排序求初始归并段。五、(15分)设哈希函数H(key)=(3*key)%11,用开放定址法处理冲突,di=i*(7*key)%10+1),i=1,2,3。试在0的散列地址空间中对关键字序列(,)造哈希表,并求等概率下查找成功时的平均查找长度。六、(20分)设计递归算法,从大

19、到小输出给定二叉排序树中所有关键字值不小于的数据元素。答案一、选择题1、2、3、4、5、6、7、8、9、10、二、设用堆排序法对给定关键字序列(,)按升序进行排序,试画出初始堆。答:,三、画出对长度为的有序表进行折半查找的判定树,并求等概率下查找成功时的平均查找长度。答:平均查找长度:。四、设内存有大小为个记录的区域可供内部排序之用,文件的关键字序列为:(18,32,56,40,23,11,8,99,58,36,21,7,4,15,19,87,73,52,82,63),要求用置换选择排序求初始归并段。答:初始归并段:18,23,32,40,56,58,99;初始归并段:7,8,11,15,19

20、,21,36,52,63,73,82,87初始归并段:4五、设哈希函数H(key)=(3*key)%11,用开放定址法处理冲突,di=i*(7*key)%10+1),i=1,2,3。试在0的散列地址空间中对关键字序列(,)造哈希表,并求等概率下查找成功时的平均查找长度。答:平均查找长度()六、设计递归算法,从大到小输出给定二叉排序树中所有关键字值不小于的数据元素。答:void OutputNLT(BiTree T,KeyType x)if (!T) return;if (!LT(T-data.key,x)/根结点及右子树中所有结点的关键字值均不小于xOutput(T-rchild);/按关键字值从大到小的顺序输出右子树中所有结点printf(T-data);/输出p所指结点OutputNLT(T-lchild,x);/处理左子树else OutputNLT(T-rchild,x);/OutputNLTvoid Output(BiTree T)Output(T-rchild);printf(T-data);Output(T-lchild);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1