重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 大学本科
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[主观题]

设有n个待排序元素存放在一个不带表头结点的单链表中,每个链表结点只存放一个元素,头指针为r。

试设计一个算法,对其进行二路归并排序,要求不移动结点中的元素,只改各链结点中的指针,排序后r仍指示结果链表的第一个结点。(提示:先对待排序的单链表进行一次扫描,将它划分为若干有序的子链表,其表头指针存放在一个指针队列中。当队列不空时重复执行,从队列中退出两个有序子链表,对它们进行二路归并,结果链表的表头指针存放到队列中。如果队列中退出一个有序子链表后变成空队列,则算法结束。这个有序子链表即为所求)。

答案
查看答案
更多“设有n个待排序元素存放在一个不带表头结点的单链表中,每个链表结点只存放一个元素,头指针为r。”相关的问题

第1题

设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向
逆转,如图2-4所示。要求逆转结果链表的表头指针h指向原链表的最后一个结点。

点击查看答案

第2题

如果对含有n(n>1)个元素的线性表的运算只有4种:删除第一个元素,删除最后一个元素,在第一个元素前

如果对含有n(n>1)个元素的线性表的运算只有4种:删除第一个元素,删除最后一个元素,在第一个元素前面插入新元素,在最后一个元素的后面插入新元素,则最好使用()。

A.只有尾结点指针没有头结点指针的循环单链表

B.只有尾结点指针没有头结点指针的非循环单链表

C.只有头结点指针没有尾结点指针的循环单链表

D.既有头结点指针也有尾结点指针的循环单链表

点击查看答案

第3题

在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。A.删除单链表中

在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。

A.删除单链表中的第一个元素

B.删除单链表中的最后一个元素

C.在单链表第一个元素前插入一个新元素

D.在单链表最后一个元素后插入一个新元素

点击查看答案

第4题

直接插人排序算法可以基于链表来实现。假设有一个数据随机排列的带表头结点的单链表L,试设计一个基于链表的直接插人排序算法,排序后的单链表仍然占用原来的空间。

点击查看答案

第5题

试设计一个实现下述要求的Locate运算的函数。设有一个带附加头结点的双向链表L, 每个结点有4
个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次Locate(x) 操作时, 令元素值为x的结点的访问频度freq加1, 并将该结点前移,链接到与它的访问频度和等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

点击查看答案

第6题

假设以带头结点的循环链表表示一个队列,并且只设一个队尾指针指向尾元素结点(注意不设头指针),试写出相应的置空队、入队、出队的算法。
假设以带头结点的循环链表表示一个队列,并且只设一个队尾指针指向尾元素结点(注意不设头指针),试写出相应的置空队、入队、出队的算法。

点击查看答案

第7题

假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列何处队列的算法。

点击查看答案

第8题

设ha和hb分别是两个带附加头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序
链表合并成一个非递增有序的单链表,要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间,表中允许有重复的数据。

点击查看答案

第9题

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。A.求链表的第i个结点B.在地址为P

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。

A.求链表的第i个结点

B.在地址为P的结点之后插入一个结点

C.删除表头结点

D.删除地址为P的结点的后继结点

点击查看答案

第10题

设单链表中结点的结构为:在一个具有n个结点的单链表中插人一个新结点,并可以不保持原有顺序的

设单链表中结点的结构为:

在一个具有n个结点的单链表中插人一个新结点,并可以不保持原有顺序的算法的时间复杂度是().

A、O(1)

B、O(n)

C、O(n2)

D、O(nlog2n)

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝