go - 什么是二次过程?

标签 go process quadratic

我正在阅读 Go 编程语言书籍(由 Donovan 和 Kernighan 撰写)及其示例 echo1 ,他们说:“这是一个二次过程,如果参数的数量很大,可能代价高昂,但对于 echo,这不太可能”。二次过程是什么意思?如果参数数量很大,它的成本如何?

谢谢。

最佳答案

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

关于go - 什么是二次过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41705138/

相关文章:

firebase - 如何在使用 Golang 推送 Firebase 后提取自动生成的唯一 ID?

go - 无法安装 go 软件包

for-loop - 在 Go 中使用由 'for' 循环创建的 channel

java - 为什么这个二次方程不会返回负数?

go - yaml:解码错误:无法将字符串解码为时间。Golang 中的持续时间

ubuntu - 在 Ubuntu 系统上共享内核的进程

java - 当你不知道是否有空格时使用 Java 的 exec 命令

java - Runtime.getRuntime().exec ("C:\cygwin\bin\bash.exe") 没有可读取的输入

python - 需要帮助为 CVXOPT 安装 LAPACK/BLAS(或推荐另一个更容易安装的 QP 求解器)

java - 如何在数学方程中使用字母作为变量/占位符?