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

设有一个双向循环链表,每个结点中除有pre,data和next三个域外, 还增设了一个访问频度域freq。

在链表被起用之前, 频度域freq的值均初始化为零, 而每当对链表进行一次Locate(L, x)的操作后, 被访问的结点(即元素值等于x的结点) 中的频度域freq的值便增1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点。试编写符合上述要求的Locate操作的算法。

答案
查看答案
更多“设有一个双向循环链表,每个结点中除有pre,data和next三个域外, 还增设了一个访问频度域freq。”相关的问题

第1题

设有一个双向链表,每个结点中除有prior、 data 和next域外,还有一个访问频度freq域,在链表被起用之前,该域的值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的非递增序列排列,以便使频繁访问的结点总是靠近表头。试写一个满足上述要求的Locata(L,x)算法。
设有一个双向链表,每个结点中除有prior、 data 和next域外,还有一个访问频度freq域,在链表被起用之前,该域的值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的非递增序列排列,以便使频繁访问的结点总是靠近表头。试写一个满足上述要求的Locata(L,x)算法。

点击查看答案

第2题

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

点击查看答案

第3题

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

点击查看答案

第4题

编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树上搜索第k(1≤k≤n)小的元素,并返
编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树上搜索第k(1≤k≤n)小的元素,并返

回指向该结点的指针。要求算法的平均时间复杂度为O(log2n)。二叉搜索树的每个结点中除data、ieftChild、rightChild等数据成员外、增加一个count成员,保存以该结点为根的子树上的结点个数。

点击查看答案

第5题

在单链表中,增加头结点的目的是()。

A.方便运算的实现

B.使单链表至少有一个结点

C.标识表结点中首结点的位置

D.说明单链表是线性表的链式存储实现

点击查看答案

第6题

设线性表为(1,13,16,18) ,以下程序用说明结构变量的方法建立头指针为head,尾结,点为18的单

设线性表为(1,13,16,18) ,以下程序用说明结构变量的方法建立头指针为head,尾结,点为18的单向循环链表,并输出链表中各结点中的数据。

#define NULL 0

Void main()

{

NODE a,b,c,d,*head,*p;

a.data=1;

b.data=13;

c.data=16;

d.data=18; /* d是尾结点*/

head=();

a.next=&b;

d.data=18; /* d是尾结点*/

head=();

a.next=&b;

b.next=&c;

c.next=&d;

()=head; /*以上结束建立循环链表的过程*/

p=head; /* p为工作指针,准备输出链表*/

do

{

printf("%d/n",());

();

}while();

}

点击查看答案

第7题

假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()

A.p->next=f和f=p

B.->next=p和f=p

C.p->next=f

D.=p->next

点击查看答案

第8题

在______中,只要指出表中任何一个节点的位置,就可以从它出发访问到表中其他所有的节点。

A.线性单链表

B. 双向链表

C. 线性链表

D. 循环链表

点击查看答案

第9题

Linkedlist在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的引用()
点击查看答案

第10题

判断一个带附加头结点的双向循环链表L是否对称相等的算法如下所示,请在算法中的()处填人正确
判断一个带附加头结点的双向循环链表L是否对称相等的算法如下所示,请在算法中的()处填人正确

的语句。

点击查看答案

第11题

在对双向循环链表做删除一个结点操作时,应先将被删除结点的前驱结点和后继结点链接好再执行删除结点操作()
点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
推荐 3个月
¥49.8
查看1200次答案
1个月
¥39.8
查看600次答案
1年
¥99.8
查看2000次答案
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

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