CYK算法

CYK算法 ( 縮寫爲CYK algorithm ） 是由約翰 · 科克 ， Younger和共同研究出來大約發表於1965年的一個算法 ， 它是一個用來判定任意給定的字符串 是否屬於一個上下文無關文法的算法 。 普通的回溯法 （ backtracking ） 在最壞的情況下需要指數時間才能解決這樣的問題 ， 而CYK算法只需要多項式時間就夠了 ( n 爲字符串 w 的長度 ） 。 CYK算法採用了動態規劃的思想 。 對於一個任意給定的上下文無關文法 ， 都可以使用CYK算法來計算上述問題 ， 但首先要將該文法轉換成喬姆斯基範式 。