首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为,请设计一个时间上尽可能高效的算
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为,请设计一个时间上尽可能高效的算
admin
2015-12-30
48
问题
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。
设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为
,请设计一个时间上尽可能高效的算法,找出由str1和str2所指向两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。
要求:
给出算法的基本设计思想。
选项
答案
顺序遍历两个链表到尾结点时,并不能保证两个链表同时到达尾结点。这是因为两个链表的长度不同。假设一个链表比另一个链表长k个结点,我们先在长链表上遍历k个结点,之后同步遍历两个链表,这样就能够保证它们同时到达最后一个结点。由于两个链表从第一个公共结点到链表的尾结点都是重合的,所以它们肯定同时到达第一个公共结点。 [*] 算法的基本设计思想: ①分别求出str1和str2所指的两个链表的长度m和n; ②将两个链表以表尾对齐(如上图所示):令指针p、q分别指向str1和str2的头结点,若m>=n,则使p指向链表中的第m-n+1个结点;若m<n,则使q指向链表中的第n-m+1个结点,即使指针p和q所指的结点到表尾的长度相等。 ③反复将指针p和q同步向后移动,并判断它们是否指向同一结点。若p和q指向同一结点,则该点即为所求的共同后缀的起始位置。
解析
转载请注明原文地址:https://kaotiyun.com/show/4Kxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
戊戌政变发生的时间是()。
为了加强对地方的控制,唐太宗根据山川形势,把全国划分成10个(),经常派官员监察地方官吏。
列宁在()中系统地阐明了马克思主义的国家学说。
内蒙古自治区的设立时间是()。
春秋战国时代,小农经济出现的最主要的条件是()
西哥特人图鲁兹建立起第一个得到罗马帝国承认的蛮族王国——西哥特王国的时间是()。
简述清代秘密立储制的操作并作出评价。
周人重视婚姻,对婚礼尤为讲究。周代的婚礼有六项程序,即:①纳征②问名③纳采④请期⑤亲迎⑥纳吉下列选项顺序排列正确的是()
对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是()。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
随机试题
原发性骨质疏松症是
A.蠲痹汤B.加味二妙丸C.独活寄生汤D.甘姜苓术汤E.活络效灵丹患者,腰痛冷痛,转侧不利,伴腰膝酸软无力,舌苔薄白,脉沉弱。方选
A.酒味B.肝臭味C.烂苹果味D.大蒜味E.氨味敌敌畏中毒者
与产生X线的质无关的是
可食滞所致的胃痛临床表现是
企业以其自产产品作为非货币性福利发放给职工时,应当根据受益原则,按该产品的()计入相关资产成本或当期损益。
金融凭证诈骗罪是指以非法占有为目的,采用虚构事实、隐瞒真相的方法,使用()进行诈骗活动的行为。
厚重的历史文化遗产不是城市建设、城市发展的包袱,而是精神理念的载体,容易凝聚成为现代建设最大的财富。开发人的内在动力,产生文化效应,大幅度提高市民素质,各种文化形态随之融汇渗透、辐射四方。这段话支持了这样一种观点,即()。
求下列极限:
Thepatient’srecoverywasveryencouragingashecould______getoutofbedwithouthelp.
最新回复
(
0
)