2012-04-08 93 views
2

首先让我解释我的意思是“对齐”。如何“对齐”2个字符串?

假设我们需要字符串:例如AGBCDEF ABCDIEFK

他们的 “对齐” 将是:

A - G - B - C - D - - E - F - 
A - - B - C - D - I - E - F - K 
----------------------------------- 

A - ? - B - C - D - ? - E - F - ? 

另一个(很简单)为例(因为我相信我的问题有可能是与NLP):

I give Mary a kiss 
I give Ann a book 
---------------------- 
I give X a Y 

会如何你去做那件事?有关算法的任何想法(或甚至参考)?

我可能会写在Objective-C(或PHP)中,但任何代码都会受到欢迎。

+2

我读过你的问题到五点时,仍然不知道你在说什么。 – blockhead 2012-04-08 18:36:26

+1

我想他想要一个内联差异。 – 2012-04-08 18:36:43

+0

@blockhead我认为我的问题是自然语言处理理论的一部分;尽管我不确定如何分类。 – 2012-04-08 18:38:29

回答

1

我想你在找什么是longest common subsequence.

+0

我现在正在查看它......非常感谢! – 2012-04-08 18:58:53

+0

很好的回答!我已经编写了一个算法的Objective-C实现(我稍后会发布它...) – 2012-04-08 19:59:35

+0

(提示:这不是100%的答案......但答案的方式) – 2012-04-08 20:00:07

3

我认为你要找的东西就像自然语言处理的最小编辑距离。看看莱文斯坦距离算法的演示here

+0

我认为这个(或@ kilotaras的答案)很可能是我需要的......非常感谢!我正在研究它... – 2012-04-08 18:57:41