在實現一個項目的背景下,我需要在PHP中找到k-最長的序列。有很多方法可以實現 - 但哪種算法對PHP來說是最快的?在一維數組中尋找k最長的序列?
你會採用哪種算法? (概述)
哪一個是最高效和動態的(數字,字符串等)? (快?,n元時間?)
你會如何實現它? (示例)
謝謝!
郵政Scriptum
我即將實現ONISI k最近neightbour算法。在這個示意圖中可以看到最長的序列。 這個shematic簡要介紹了ONISI算法。
total/immediate-history-elements是表示$ state - > $動作模式的字符串。 這意味着,考慮到示意圖(1)的前3個元素,將顯示數據,例如:$immediate_history = array(array("s2" => "a2"), array("s3" => "a3"), array("s1" => "a1") [..]);
還有關於問題的任何問題嗎?
乾杯!
你到目前爲止嘗試過什麼?另外,您不能用您提供的方式用PHP數組表示整個原理圖(1),因爲PHP數組鍵必須是唯一的。將它作爲一個子數組序列來做是一種選擇,例如:array(array(「s2」=>「a2」),array(「s3」=>「a3」),array(「s1」=> 「a1」),...)' – 2011-04-29 11:07:32
該表達式不像查找k-最長序列的數組分析算法那麼重要,當然,它可能表示成這樣 - 但幾乎每個表示都可以實施成標準化算法。我改變了你的選擇後的例子。 我已經在試驗機智嘗試,但它似乎不適合實際的情況。 – 2011-04-29 11:10:23
試試這個:http:// codegolf。stackexchange.com/ – 2011-04-29 23:02:48