如果我們給定的n字符串,其長度和一個附加(字符串S1,S2線)函數,這將字符串連接在一起S2與S1和S3返回的級聯的成本。我們如何優化將所有這些字符串連接成一個大字符串的成本。如何優化N個字符串
如果沒有給出這樣的功能,我們可以簡單地創建一個大小爲(N1 + N2 + ... NN)的輸出字符串,並保持追加到它的每個字符串的字符。但是,使用此函數時,我們必須遍歷輸入字符串s1以查找它的結尾,然後開始將字符串s2連接到它。
所以如果字符串的長度是2,6,1,3,4 ..
add (s1, s2) traversal for length 2, op string of length 8
add (s1, s3) traversal for length (2+6) op string of length 9
add (s1, s4) traversal for length (2+6+1) op string of length 12
add (s1, s5) traversal for length (2+6+1+3) op string of length 16...and so on..
你可以提供一個更精確定義你認爲add()操作的「成本」是什麼? – rici
我舉了一個例子,這裏的成本是指我必須遍歷整個字符串的次數,並且遍歷大小根據輸入字符串的大小而增長。 – user1071840