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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构c语言版题目.docx

1、数据结构c语言版题目如果TCPhashlistJuli 采用线性表的顺序存储结构, 则可以随机存取 表中任一终端,但插入和删除终端时,需要移动大量元素,巧妙地终端 离线不进行删除操作。数组,存储的元素应该是线性表顺序存储结构的数据结构。线性表题目类型:线性表在顺序结构上各种操作的实现; 线性链表的 各种操作;两个或多个线性表的各种操作;循环链表和双向链表;稀疏 多项式及其运算在线性表的两种存储结构上的实现。线性表在顺序结构上各种操作的实现题目1:(线性表顺序存储结构上的操作 Delete )从顺序存储结构的 线性表a中删除第i个元素起的k个元素。(数据结构题集C语言版P16)题目2:(线性表顺

2、序存储结构上的操作 _lnsert )设顺序表va中的 数据元素递增有序。试写一算法,将 x插入到循序表的适当位置上,以保持该表的有序性。(数据结构题集C语言版P17)题目3:(线性表顺序存储结构上的操作 _逆置)构题集C语言版2.21) 线性表线性链表的各种操作题目2:( Delete )同上题要求,实现线性表操作 Delete(L,i).题目3:已知线性表中的元素以值递增有序排序,并以单链表作为存储结构。试写一高效算法,删除表中所有值大于 mink且小于maxk的元素(若表中存在这样的元素)同时释放被删除结点空间,并分析你的算 法的事件复杂度(注意:mink和maxk是给定的两个参变量,它

3、们的值可以和表中的元素相同,也可以不同)。 (数据结构题集C语言版P17)题目4:同上题条件,试写一高效算法,删除表中所有值相同的多余 元素(使得操作后的线性表所有元素的值均不相同),同是释放被删结 点空间,并分析你算法的时间复杂度。(数据结构题集C语音版P18)带头结点和对比题目2至4可知:线性表链表的删除操作的题目常有:maxk的元素;删除相同的多余元素同事释放结点空间。(数据结构题目5:(逆置)试写一算法,对单链表实现就地逆置。题集C语言版2.22)两个或多个线性表的各种操作 题目1:(连接) 已知指针ha和hb分别指向两个单链表的头结点, 并且已知两个链表的长度分别为 m和n。试写一算

4、法将这两个链表连接在一起,假设指针he指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。 (数据结构题集C语言版2.15) 题目2:(删除+插入)知指针la和lb分别指向两个无头结点单链表中 的首元结点。下列算法是从表la中删除自第i个元素起共len个元素后, 将它们插入到表lb中第i个元素之前。试问此算法是否正确?若有错, 请改正之。(数据结构题集C语言版2.16)Status DeleteA ndln sertSub(L in kedList la,L in kedList lb,i nt i,i nt j,i nt len) if(ivO|jv

5、O|le nv 0) return INFEASIBLE;p二 la; k=1;while(kvi) p二p-n ext; k+; q=p;while(kn ext; k+; s=lb; k=1;while(kn ext; k+; s-n ext 二p; q-n ext=s-next;return OK;题目3:(归并)假设有两个按元素值递增有序排列的线性表 均以单链表作存储结构,请编写算法将 A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性 表C,并要求利用原表(即A表和B表)的结点空间构造C表。(数 据结构题集C语言版2.24)题目4 :(集合求交,

6、集合求并,集合求余)2.25假设以两个元素依值递增有序排列的线性表 A和B分别表示两个集合(即同一表中的 元素值各不相同),现要求另辟空间构成一个线性表 C,其元素为A和B中元素的交集,且表C中的元素有依值递增有序排列。试对顺序表编写求 C的算法。2.26要求同2.25题。试对单链表编写求 C的算法。2.27对2.25题的条件作以下两点修改,对顺序表重新编写求得表 C的算法。(1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表 C中的元素值各不相同; 利用A表空间存放表C。C中的元素值各(1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表 不相同; 利用原表(A

7、表或B表)中的结点构成表 C,并释放A表中的无用结点空间2.29已知A,B和C为三个递增有序的线性表,现要求对 A表作如下操作:删去那些既在B表中出现又在C表中出现的元素。试对顺序表编写实现上述操作的算法,并分析你的算 法的时间复杂度(注意:题中没有特别指明同一表中的元素值各不相同)。2.30要求同2.29题。试对单链表编写算法,请释放 A表中的无用结点空间。题目5:(分割)2.33已知由一个线性链表表示的线性表中含有三类字 符的数据元素(如:字母字符、数字字符和其他字符),试编写算法将 该线性表分割为三个循环链表, 其中每个循环链表表示的线性表中均只 含一类字符。循环链表和双向链表2.32已

8、知有一个单向循环链表,其每个结点中含三个域: pre,data和next,其中data为数据域,next为指向后继结点的指针域, pre也为指针域,但它的值为空,试编写算法将此单向循环链表改为双向循环链表,即使 pre成为指向前驱结点的指针域。2.37设以带头结点的双向循环链表表示的线性表 L=(a1,a2,.,an)。试写一时间复杂度 0(n)的算法,将 L 改造为 L=(a1,a3,.,an,.,a4,a2)。2.38设有一个双向循环链表,每个结点中除有 pre, data和next三个域外,还增设了一个访问频度域freq。在链表被起用之前,频度域 freq的值均初始化为零,而每当对链表进

9、行一次Locate(L,x)的操作后,被访问的结点(即元素值等于 x的结点)中的频度域 freq的值Locate操作的算法。便增1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始 终保持被频繁访问的结点总是靠近表头结点。试编写符合上述要求的 稀疏多项式及其运算在线性表的两种存储结构上的实现。(看不懂题目,略)栈和对列栈的类型特点及其应用3.15假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈操作算法各有什么有缺点。以使所有的软席车厢都被调整到硬席车厢之前。,序列1&序列3.17试写一个算法,

10、识别一次读入的一个以 为结束符的字符序列是否为形如2?模式的字符序列。其中序列 1和序列2中都不含字符,&?且序列2是序列1的逆序列。例如,a+b&b+a?是属该模式的字符序列,而 ,1+3&3-1?则不是。3.18试写一个判别表达式中开、闭括号是否配对出现的算法。3.19假设一个算术表达式中可以包括三种括号: 圆括号“(”和“)”、方括号“”和“”和花括号“ ”和“”,且这三种括号可按任意的次序嵌套使用 (如: ,(,),)。编写判别给定表达式中所含括号是否正确配对出现的算法 存入数据元素为字符的顺序表中)。(已知表达式已3.20假设以二维数组g(1m, 1n)表示一个图像区域,gi,j表示

11、该区域中点(i,j)所具颜色, 其值为从0到k的整数。编写算法置换点(i0,j0)所在区域的颜色。约定和 (i0,j0)同色的上、下、左、右的邻接点为同色区域的点。3.21假设表达式有单字母变量和双目四则运算符构成。试写一个算法,将一个通常书写形 式且书写正确的表达式转换为逆波兰表达式。3.22如题3.21的假设条件,试写一个算法,对以逆波兰式表示的表达式求值。3.23如题兰表达式,3.21的假设条件,试写一个算法,判断给定的非空后缀表达式是否为正确的逆波 如果是,则将它转化为波兰式。递归算法执行过程中栈的状态和递归的消除队列的类型特点和应用以及在不同存储结构上的实现方法3.28假设以带头结点

12、的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列何处 队列的算法。3.29如果希望循环队列中的元素都能得到利用,则需设置一个标志域 tag,并以tag的值为0和1来区分,尾指针和头指针值相同时的队列状态是 空”还是 满”试编写与此结构相应的入队列和出队列的算法,并从时间和空间角度讨论设标志和不设标志这两种方法的使用范围 (如当循环队列容量较小而队列中每个元素占的空间较多时, 哪一种方法较 好)。3.30假设将循环队列定义为:以域变量rear和length分别指示循环队列中队尾元素的位置和内含元素的个数。试给出此循环队列的队满条件, 并写出相

13、应的入队列和出队列的算法 (在出队列的算法中要返回队头元 素)。3.31假设称正读和反读都相同的字符序列为 回文”例如,abba?和,abcba?是回文,abcde?和,ababab?则不是回文。试写一个算法判别读入的一个以,?为结束符的字符序列是否是回文”3.33在顺序存储结构上实现输出受限的双端循环队列的入列和出列 (只 允许队头出列)算法。设每个元素表示一个待处理的作业,元素值表示 作业的预计时间。入队列采取简化的短作业优先原则,若一个新提交的 作业的预计执行时间小于队头和队尾作业的平均时间,贝入在队头, 否则插入在队尾。3.34假设在如教科书3.4.1节中图3.9所示的铁道转轨网的输入

14、端有 n节车厢:硬座、硬卧和软卧(分别以 P,H和S表示)等待调度,要求这三种车厢在输出端铁道上的排列次序为:硬座在前,软卧在中,硬卧 在后。试利用输出受限的双端队列对这 n节车厢进行调度,编写算法输出调度的操作序列:分别以字符,E?和,D?表示对双端队列的头端进行入 队列和出队列的操作;以字符A表示对双端队列的尾端进行入队列的操 作。树和二叉树遍历以及通过遍历实现二叉树的其他操作6.33假定用两个一维数组Ln+1和Rn+1 作为有n个结点的二叉树的的左孩子和右孩存储结构,Li和Ri分别指示结点i(i=12.,n) 子,0表示空。试写一个算法判断结点 u是否为结点v的子孙。6.34同6.33题

15、的条件。先由L和R建立一维数组Tn+1,使T中第i(i=1,2, 个分量指示结点i的双亲,然后判别结点U是否为结点v的 子孙的算法。6.35假设二叉树中左分支的标号为” 0右分支的标号为” 1并对二叉树增设一个头结点,令根结点为其右孩子,则从头结点到树中任一点所经分 支的序列为一个二进制序列,可以作是某个十进制数的二进制表示.例如, 右图所示二叉树中,和节点A对应的二进制序列为” 110”即十进制整数6的二进制表示,已知一棵非空二叉树以顺序存储结构表示,试写一尽可能 简单的算法,求出与树的顺序存储结构中下标值为 i的结点对应的十进制数.二叉树线索化和在线索二叉树上找给定结点的前驱和后驱6.56

16、试写一个算法,在先序后继线索二叉树中, 查找给定结点*p在先序序列中的后继(假设二叉树的根结点未知)。并讨论实现此算法对存储结构有何要求?6.57试编写一算法,在后序后继线索二叉树中 ,查找给定结点*p在后序序列中的后继(二叉树的根结点指针并为给出),并讨论实现算法对存储结构有何要求?6.58试写出一算法,在中序全线索二叉树的结点 *p之下,插入一棵以结点*x为根只有左子树的中序全线索二叉树,使 *x为根的二叉树成为*p的左子树,若*p原来有左子树,则令它 为*x的右子树,完成插入之后的二叉树应保持全线索化特性。树的遍历6.59试编写算法完成下列操作:无重复的输出以孩子兄弟链表存储的树T中所有

17、的边。输出的形式为(k1 k2),( ki )(ki kj)其中,ki, kj为树结点中的结点标识。6.60试编写算法,对一棵以孩子-兄弟链表表示的树统计叶子的个数。6.61试编写算法,求一棵以孩子-兄弟链表表示的树的深度。6.62对以孩子-兄弟链表表示的树编写计算树的深度的算法。6.63对以孩子链表表示的树编写计算树的深度的算法。6.64对以双亲表示的树编写计算树的深度的算法 。树及二叉树的各种操作和输出操作。6.65已知一棵二叉树的前序虚痨和中序序列分别存储于两个一维数组中, 立该二叉树的二叉链表。试将编写算法建6.66假设有n个结点的树T采用了双亲表示法,写出由此建立树的孩子-兄弟链表的

18、算法。6.68已知一棵树的由根至叶子结点按层次输入的结点序列及每个结点的度(每层中自左向右输入),试写出构造此树的孩子 -兄弟链表的算法。6.74 试写一递归算法,以 6.73题给定的树的广义表表示法的字符序列形式输出以孩子兄弟链表表示的树。6.75 试写一递归算法,由6.73题定义的广义表表示法的字符序列, 构造树的孩子链表。6.76 试写一递归算法,由 6.73题给定的树的广义表表示法的字符序列形式输出以孩子 链表表示的树。6.679)假设以二元组(F, C) m形式输入一棵树的诸边(其中F表示收亲结点的标识,CS 示孩子结点标识),且在辐入的二元组序列中,C是按层次II页序出现的,2 2

19、时如下所示树的输入序列为,C为扌瞬点标识,若C也为2,则表示輪入结東,例如,*AABACADCECF试编写算法,由输入的二元组序列建立树的孩子-兄弟琏例如;左下二汉树印为右下形状,6.65假设以二叉槌S存储的二叉树中,每个结点所含数据元畫均为单字环 试编写算法, 援材状打印二灭树的算法,67C如果用大小写字母标识二叉树结点,则一棵二叉树可以用符合下面法图的字符序 列轶示,试写一个谨归算法,耳这种形式的字符序列,建立相应的二叉树的二叉链表存储结 构.例如669题所示二叉树的输入形式九A (B (幕D), C (E * F), #).6.71假设树上每个结点所舍的数据元奎対一个字母,并且以孩子兄弟

20、链表为树的存储 结构,试写_个搜凹入叢方式打EP棵树的g法,例如;左下所示树印为右下形状&7C如果用大小写字母标识二叉树结点,则一棵二叉树可以用符合下面法图的字符序 列轶示,试写一个谨归算法,耳这种形式的字符序列,建立相应的二叉树的二叉链表存储结 构.例如669题所示二叉树的输入形式九A (B (幕D), C (E * F), #).6.71假设树上每个结点所舍的数据元奎対一个字母,并且以孩子兄弟链表为树的存储 结构,试写_个搜凹入叢方式打EP棵树的g法,例如;左下所示树印为右下形状ABEFCG题型:设计求解路径问题的算法;课本上的各种算法。动态存储管理系统程序设计中采用的几种动态存储管理的策略和方法; 使用可利用空 间进行动态存储管理分别策略;操作系统中用以进行动态存储管理的边 界标志法和伙伴系统,无用单元收集时的标志算法。查找题型:静态查找表的查找;各种树表的查找插入删除;哈希表的构造、 查找和维护。内部排序题型:各种排序算法外部排序题型:未总结题型:未总结

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

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