首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
admin
2012-06-21
55
问题
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中结点的次序,使其按访问频度的递减序列排序,以便使被频繁访问的结点总靠近表头,试写一符合上述要求的LocateNode运算的算法。
选项
答案
在DLinkList类型的定义中添加freq域(int类型),给该域初始化为0。在每次查找到一个结点*p时,使其freq域增1,再在*p结点的前面找到一个结点*q,它或是头结点或是满足q->freq>=p->freq,然后删除*p结点,使其插入到*q结点之后。 算法描述如下: int LocateNode(DLinkList*h,ElemType x) { DLinkList *p=h->next,*q; while(p!=NULL&&p->data!=x) p=p->next; //找data域值为x的结点*p if(p==NULL) //未找到这样的结点 return 0: }else{ //找到这样的结点*p p->freq++; //频度增1 q=q->prior; //*q为*p前驱结点 if(q!=h) //若’p为第一个数据结点,则不移动 { while(q!=h&&q->freq<p->freq)//找到*q结点,使q->freq>=p->freq q=q->prior; p->prior->next=p->next; //先删除*p结点 if(p->>next!=NULL) p->next->prior=p->prior; p->next=q->next; //将*p结点插入到*q结点之后 if(q->next!=NULL) q->next->prior=p; q->next=p; p->prior=q; } return 1; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/Y8xi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
列宁称马克思、恩格斯是“19世纪人类三个最先进国家中三种主要思潮的继承人和天才的完成者”。这是“三个最先进国家”指的是()。
20世纪70年代,美国主动改善与中国的关系,尼克松于1971年派遣他的国家安全事务助理基辛格秘密访华,这表明美国()。
1948年,南斯拉夫对从苏联照搬来的“行政命令式的国家集权式”体制进行改革逐步形成有自己特色的建设社会主义的理论和方法,其核心是()。
“改土归流”政策的根本目的是()。
二战后,调整当代世界经济贸易和金融的三大支柱不包括()。
试析巴以冲突的历史根源。
洪武八年,朱元璋仿照元朝的办法,印造(),命令民间通行,形成了钱、钞并用的货币制度
(1)以太网采用了曼彻斯特编码,一个比特的数据需要两个信号来传输,那么为了达到100Mbps的数据传送速率,需要线路达到200Mbps的带宽。(2)以太网的最小帧长度是64字节,那么发送一个最小帧需要的时间T1=64×8/(100×106),
已知散列函数为H(key)=key%11,处理冲突的方法为二次探测法,探测的序列为:1,-1,4,-4,…,j2,-j2(j<=m/2)。当di>0时,Hi=(H(key)+di)%m当di<0时,Hi=(H(key)+di+m)%m散列
随机试题
治疗肝肾阴亏证的最佳方药是
某男性患者,75岁。因牙齿缺失,欲行义齿修复,患者主诉多年来口内多数牙都因龋坏松动拔除或自行脱落。临床检查发现:口内仅剩4颗尖牙。而且松动度在Ⅰ度以内,除牙尖有明显磨耗外,无龋坏。关于四颗尖牙还能留在口腔内的原因的叙述,正确的是
患儿,3岁。因低热伴皮疹来院就诊,护士观察发现皮疹呈向心性分布,有红色斑疹、小水疱、结痂,患儿主诉瘙痒。该患儿可诊断为
需要准备麻醉床的病人是
甲、乙约定:甲将100吨汽油卖给乙,合同签订后三天交货,交货后十天内付货款。还约定,合同签订后乙应向甲支付十万元定金,合同在支付定金时生效。合同订立后,乙未交付定金,甲按期向乙交付了货物,乙到期未付款。对此,下列哪一表述是正确的?(2010/3/14)
某高速公路建设项目位于广东省境内,招标人对该高速公路建设涉及的园林绿化养护工程项目采用公开招标方式确定承包人,招标时间为2008年2—3月,采用资格后审,工程面积为10万平方米。招标人要求投标人必须具有建设主管部门颁发的城市园林绿化企业二级及以上企业资质。
石油化工工程的签章文件分为6类管理文件,其中(),合并为一个类别。
象征性交货是指()。
根据下列资料。回答问题。2015年,我国海洋灾害以风暴潮、海浪、海冰和赤潮灾害为主,绿潮、海岸侵蚀、海水入侵与土壤盐渍化、咸潮入侵等灾害也均有不同程度发生。各类海洋灾害造成直接经济损失72.74亿元,死亡(含失踪)30人。2014年7月,在我国华南沿海登
NoticeFifteenquestionsfortheGuiyangCustomsandSceneryCompetitionwerepublishedinChinaDailyonMay5and7andon
最新回复
(
0
)