如果我们给定的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