什么是二次过程?

时间:2017-01-17 19:12:36

标签: go process quadratic

我正在阅读Go编程语言书(Donovan和Kernighan)和他们的例子echo1,他们说:“这是一个二次过程,如果参数的数量很大,可能会很昂贵,但对于回声,这不太可能“。二次过程意味着什么?如果参数的数量很大,它的代价是多少?

感谢。

1 个答案:

答案 0 :(得分:5)

一般来说,二次方意味着与平方数有关的东西。在这种情况下,它意味着过程的成本与输入大小的平方成正比。这是因为使用+=运算符连接字符串,这在Go中很昂贵,因为字符串是不可变的,并且每次连接时都必须在内存中创建新字符串。更有效的连接字符串的方法包括写入bytes.Buffer并将其转换为字符串,或使用strings.Join函数