算法设计题打印部分

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

算法设计题打印部分

假设有两个按元素值递增次序排列的线性表均以单链表形

式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表并要求利用原来两个单链表的结点存

放归并后的单链表。【北京大学1998 三、1 5分】类似本题的另外叙述有1设有两个无头结点的单链表头指针分

别为hahb链中有数据域data链域next两链表的数据都按递增序存放现要求将hb表归到ha表中且归并后ha仍递增序归并中ha表中已有的数据若hb中也有则hb中的数据不归并到ha中hb的链表在算法中不允许破坏。【南京理工大学1997 四、315分】PROCEDURE mergehahb 2已知头指针分别为la和lb 的带头结点的单链表中结点按元素值非递减有序排列。写出将la 和lb两链表归并成一个结点按元素值非递减有序排列的单链表其头指针为lc并计算算法的时间复杂度。【燕山大学1998 五20分】 2. 图编者略中带头结点且头指针为ha和hb的两线性表A和B 分别表示两个集合。两表中的元素皆为递增有序。请写一算法求A和B的并集AUB。要求该并集中的元素仍保持递增有序。且要利用A和B的原有结点空间。【北京邮电大学1992 二15分】类似本题的另外叙述有1 已知递增有序的两个单链表AB分别存储了一个集合。设计算法实现求两个集合的并集的运算A:A∪B【合肥工业大学1999 五、18分】2已知两个链表A和B分别表示两个集合其元素递增排列。编一函数求A与

B的交集并存放于A链表中。【南京航空航天大学2001 六10分】3设有两个从小到大排序的带头结点的有序链表。试编写求这两个链表交运算的算法即L1∩L2。要求结果链表仍是从小到大排序但无重复元素。【南京航空航天大学1996 十一10分】4己知两个线性表A B均以带头结点的单链表作存储结构且表中元素按值递增有序排列。设计算法求出A 与B的交集C要求C另开辟存储空间要求C同样以元素值的递增序的单链表形式存贮。【西北大学2000 五8分】5已知递增有序的单链表AB和C分别存储了一个集合设计算法实现AA∪B∩C并使求解结构A 2 仍保持递增。要求算法的时间复杂度为OABC。其中A为集合A的元素个数。【合肥工业大学2000 五、18分】3. 知L1、L2分别为两循环单链表的头结点指针mn分别为L1、L2表中数据结点个数。要求设计一算法用最快速度将两表合并成一个带头结点的

循环单链表。【东北大学1996 二12分】类似本题的另外叙述有1试用类Pascal语言编写过程PROC joinVAR lalink lblink 实现连接线性表la和lblb在后的算法要求其时间复杂度为01 占用辅助空间尽量小。描述所用结构。【北京工业大学1997 一、1 8分】2设有两个链表ha为单向链表hb 为单向循环链表。编写算法将两个链表合并成一个单向链表要求算法所需时间与链表长度无关。【南京航空航天大学1997 四8分】4. 顺序结构线性表LA与LB的结点关键字

为整数。LA与LB的元素按非递减有序线性表空间足够大。试用类PASCAL语言给出一种高效算法将LB中元素合到LA中使新的LA的元素仍保持非递减有序。高效指最大限度的避免移动元素。【北京工业大学1997 一、2 12分】5. 已知不带头结点的线性链表list链表中结点构造为data、link

其中data为数据域link为指针域。请写一算法将该链表按结点数据域的值的大小从小到大重新链接。要求链接过程中不得使用除该链表以外的任何链结点空间。【北京航空航天大学1998 五15分】6. 设L为单链表的头结点地址其数据结点的数据都是正整数且无相同的试设计利用直接插入的原

则把该链表整理成数据递增的有序单链表的算法。【东北大学1996 六14分】类似本题的另外叙述有1设一单向链表的头指针为head链表的记录中包含着整数类型的key域试设计算法将此链表的记录按照key递增的次序进行就地排序.【中科院计算所1999 五、110分】7. 设Listhead为一单链表的头指针单链表的每个结点由一个整数域DATA和指针域NEXT组成整数在单链表中是无序的。编一PASCAL 过程将Listhead链中结点分成一个奇数链和一个偶数链分

别由PQ指向每个链中的数据按由小到大排列。程序中不得使用NEW过程申请空间。【山东大学1993六15分】类似本题的另外叙述有1设计算法将一个带头结点的单链表

A分解为两个具有相同结构的链表B、C其中B表的结点为

A表中值小于零的结点而C表的结点为A表中值大于零的结点链表A的元素类型为整型要求B、C表利用A表的结点。【北京理工大学2000 四、24分】2 设L为一单链表的头指针单链表的每个结点由一个整数域data和指针域NEXT

组成整数在单链表中是无序的。设计算法将链表中结点分成一个奇数链和一个偶数链分别由PQ指向每个链中的数据按由小到大排列算法中不得申请新的结点空间。【青岛海洋大学1999 三12分】3 将一个带头结点的单链表A分解为两个带头结点的单链表A和B使得A表中含有原表中序号为奇数的元素而B表中含有原表中序号为偶数的元素且保持其相对顺序不变。1 写出其类型定义2 写出算法。【山东大学1998 九9分】【山东工业大学2000 九9分】8. 已知线性表a1 a2 a3 �6�7an按顺序存于内存每个元素都是整数试设计用最少时间把所有值为负数的元素移到全部正数

值元素前边的算法例x-x-xxx-x �6�7x变为-x-x-x�6�7xxx。【东北大学1998 二15分】类似本题的另外叙述有1设有一元素为整数的线性表La1a2a3�6�7an存放在一维数组AN中设计一个算法以表中an作为参考元素将该表分为左、右两部分其中左半部分每个元素小于等于an右半部分每个元素都大于an an位于分界位置上要求结果仍存放在AN中。【北京理工大学1999 八6分】2顺序存储的线性表A其数据元素为整型试编写一算法将A拆成B和C两个表使A

中元素值大于等于0的元素放入B小于0的放入C中.. 要求: 1表B和C另外设置存储空间2表B和C不另外设置而利用A的空间.【山东大学2001 九、1 12分】3知线性表a1 a2a3�6�7an按顺序存储且每个元素都是整数均不相同设计把所有奇数移到所有偶 3 数前边的算法。要求时间最少辅助空间最少【东北大学1997 三15分】4 编写函数将一整数序列中所有负数移到所有正数之前要求时间复杂度为On 【南京航空航天大学2001 八10分】5 已知一个由n 设

n1000个整数组成的线性表试设计该线性表的一种存储结构并用标准pascal语言描述算法实现将n个元素中所有大于等于19的整数放在所有小于19的整数之后。要求算法的时间复杂度为On空间复杂度O1。【西安交通大学1996 六11分】9. 试编写在带头结点的单链表中删除一个最小值结点的高效算法。void deleteLinklist ampL 【北京理工大学2001 九、3 8分】10. 已知非空线性链表由list指出链结点的构造为datalink.请写一算法将链表中数据域值最小的那个链结点移到链表的最前面。要求不得额外申请新的链结点。【北京航空航天大学2001 四10分】11. 已知p指向双向循环链表中的一个结点其结点结构为data、llink、rlink三个域写出算法changep交换p所指向的结点和它的前缀结点的顺序。【首都经贸大学1997 二、215分】12. 线性表

a1a2a3�6�7an中元素递增有序且按顺序存储于计算机内。

相关文档
最新文档