📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
12
返回列表 发新帖
楼主: wwwyhx
跳转到指定楼层
上一主题 下一主题
收起左侧

Amazon : 字符串最短路径

 
🔗
darksteel 2011-5-21 05:49:54 | 只看该作者
全局:
回复 10# epic
这个建图代价太大了吧,每个单词所有一步能达到的单词很多,要全枚举出来状态太多,而且带着星号能匹配的两个单词不能保证hash过后还一样。而且两个单词之间的路径长度还是可能达到la+lb-1的。
我觉得还是就n^2枚举单词对,然后判断两个单词是否能一步达到,这个好像是可以线性出来的:
若长度差1以上,不可能
若长度相等,判断不相同的字符个数是否为1
若长度差1,则从头开始匹配,允许一次失配,让长的单词略过该字符,如果再次失配就不可能。
这样就能建起图来,不过n比较大的情况下,时间和空间都不太能接受。要求所有的最短距离的话,最直接的就是floyd算法,但复杂度是n^3。。如果只是求给定的两个单词的最短距离,倒是可以用dijkstra或者双向的BFS。
回复

使用道具 举报

🔗
epic 2011-5-21 12:39:53 | 只看该作者
全局:
回复 11# darksteel

用hash的方法建图,时间复杂度是O(n*l)l是单词长度,这比O(n^2)小了不知道多少了

而且枚举单词对的复杂度严格上说是O(n^2*l),用hash整整小了一个数量级

当然我这都是没有考虑把边连出来的复杂度,如果本来就是个完全图,那的确怎么着都要o(n^2),但很明显这是个稀疏图
回复

使用道具 举报

🔗
darksteel 2011-5-21 13:02:06 | 只看该作者
全局:
回复 12# epic
还是没搞懂怎么hash建图。。你上面说的abcd,要插入什么进去呢?最后得到的结果是什么呢?
回复

使用道具 举报

🔗
epic 2011-5-21 13:36:25 | 只看该作者
全局:
本帖最后由 epic 于 2011-5-21 13:51 编辑

回复 13# darksteel

换个说法,就是对模式进行hash。

比如说abcd,那么abcd一步可达的模式就是*abcd a*bcd  ab*cd  abc*d  abcd*,*bcd,a*cd,ab*d,abc*,bcd,acd,abd,abc这么几种

把每种模式做个hash值插入

考虑一个单词能由哪些可达的时候,就考虑它符合哪些模式

比如说ebcd,这时候,如果有单词通过插入达到它,那么*bcd、e*cd、eb*d、ebc*这四种模式必然出现过(因此查这几个hash值是否存在就可以了)
如果有单词通过删除达到他,那么这个单词必然以前插入过ebcd(因此只要查ebcd是否存在)
如果有单词通过修改达到他,那么也是查*bcd、e*cd、eb*d、ebc*是否存在过。

完了再把这个单词能构成的模式插进去。对ebcd来说,就是*ebcd,e*bcd,eb*cd,ebc*d,ebcd*,bcd,ecd,ebd,ebc,*bcd,e*cd,eb*d,ebcd*。

这里*是一个我自己定义的特殊字符,用@啊#啊也可以。


因为每个单词所构成的模式必然是O(l)的,因此对于每个单词我们只需要计算O(l)次hash值
回复

使用道具 举报

🔗
darksteel 2011-5-21 14:11:12 | 只看该作者
全局:
回复 14# epic
我明白你的意思了。直观上想觉得空间消耗有点大,但当n比较大的时候,O(n)以上的做法都是不可接受的,这应该算是个很可行的做法
回复

使用道具 举报

🔗
bill 2011-5-21 18:14:46 | 只看该作者
全局:
我觉得是DP,复杂度O(len(S1)*len(S2)), A[i][j]= min{ A[i-1][j-1]+0/1 或者 A[i-1][j] 或者 A[i][j-1] }
回复

使用道具 举报

🔗
darksteel 2011-5-22 01:20:50 | 只看该作者
全局:
回复 16# bill
字符串编辑距离本来是典型的DP问题,但要求路径上都是字典里的单词就不太好DP了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表