2012-04-08 92 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