首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
42.设有带头结点的循环双链表表示的线性表L=(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a2,……,an,……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,
42.设有带头结点的循环双链表表示的线性表L=(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a2,……,an,……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,
admin
2012-06-26
107
问题
42.设有带头结点的循环双链表表示的线性表L=(a
1
,a
2
,……,a
n-1
,a
n
)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a
1
,a
2
,……,a
n
,……a
4
,a
2
)。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C十十或JAVA语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)算法的基本设计思想如解析所述。 (2)用C语言算法描述如下: Void spl.it(DLinkList&L){ DLinkList*p=L一>next,*q,*s=NULL; L一>next=L;L一>prior=L; //构造只有一个头结点的循环双链表 while(p!=L){ //扫描L的所有结点 q=p一>next; p一>next=L;p一>prior=L一>prior; //将*p结点插入到L循环双链表的末尾 L一>prior一>next:p;L一>prior=p; p=q;q=p一>next; if(s==NULL>{ //s原为空表时,现只含有一个结点 s=p; s一>next=s;s一>prior=s; } else{ //将*p插入到s的前端 p一>next=s;p一>prior=s一>prior; s一>prior一>next=p;s一>prior=p; s=p; } p=q; } s一>prior一>next=L; //将L和s合并起来 L一>prior一>next=s; q=L一>prior; L一>prior=s一>prior; s一>prior=q; } (3)说明算法的复杂性:上述算法的时间复杂度为O(n),算法的空间复杂度为O(1)。
解析
用p指针扫描L的所有结点,先将L构造为只有一个带头结点的循环双链表,而用指针s构造不带头结点的循环双链表(初始时为NULL),对于奇数序号的结点*p,采用尾插法插入到L中,对于偶数序号的结点*p,采用头插法插入到s中。最后将L和s两个循环双链表连接成一个循环双链表,L为其头结点指针。
转载请注明原文地址:https://kaotiyun.com/show/Lyxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
到19世纪蒸汽时代资本主义取得了具有决定意义的胜利,意思是说()。
相比较而言,下列最不能代表资产阶级利益和资本主义发展方向的是()
《马可波罗行纪》中载:“此汗八里大城之周围,约有城市二百,位置远近不等,每城皆有商人来此买卖货物,盖此城为商业繁荣之城也。”“此城”指的是()。
1988年起,苏联民族矛盾激化,民族分离运动加剧,第二次较大规模的民族冲突是()。
试述中国共产党诞生的历史条件和意义。
洪秀全以宗教手段组织起义,主要利用的是()。
洋务运动中翻译出《几何原本》后九卷、《代数学》、《重学》等数学、物理方面的科技书籍的翻译家是()。
下列有关曲辕犁的表述正确的是()①曲辕犁早在中国汉代即已使用了②曲辕犁在中国出现至少比欧洲早一千多年③我国古代的农业工具和农耕技术曾长期居世界领先地位④处于“蒸汽时代”的欧洲农业技术革新,滞后于同时代工业的发展
1905年至1907年间,围绕中国究竟是采用革命手段还是改良方式这个问题,革命派与改良派进行论战的舆论阵地是()。
随机试题
全面预算的关键和起点是
碘缺乏病可对人体产生多种危害,包括
本病例最可能的诊断为下列急救措施不妥当的是
关于痛经,下列哪一项不正确
“为自己定的目标高,有活力且能够承受压力和挫折”,这是威尔逊领导者的()胜任特征。
【2015云南玉溪】课外活动的主体是()。
根据联合国教科文组织制定的标准,下列哪个国家已经进入了老龄化社会?()
根瘤细菌与豆科植物互相依存,其相互关系为________。
思想道德和法律都是调节人们思想行为、协调人际关系、维护社会秩序的重要手段。思想道德和法律虽然在调节领域、调节方式、调节目标等方面发挥的作用和方式存在很大不同,但二者都是社会上层建筑的重要组成部分,彼此联系紧密。下列关于思想道德和法律的关系,说法正确的是(
Wantaglimpseofthefutureofhealthcare?Takealookatthewaythevariousnetworksofpeopleinvolvedinpatientcareare
最新回复
(
0
)