go - Golang中“append”的最大O是什么?

标签 go

大O有什么用

    a := []int32{1,2,3,4,5}
    a = append(a,6)

    fmt.Println(a)
如果我仅追加1个项目,它是O(1)还是O(n)?
并且也

    a := []int32{1,2,3,4,5}
    b := []int32{6,7,8}
    a = append(a,b...)
    
    fmt.Println(a)

最佳答案

BigO取决于所使用的算法,而不取决于编程语言
另外,在输入大小足够大的情况下讨论BigO(请参阅BigO的定义)
因此,一个元素的BigO不存在。
追加go似乎有点复杂,所以要自己弄复杂的时间,看看这个
https://hackernoon.com/golang-slice-and-append-e18498cf924a

关于go - Golang中“append”的最大O是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63240072/

相关文章:

concurrency - channel 的读写排除

go - 寻找相当于 scanf 的 Go

go - 为什么从来没有到达return语句

pointers - golang中slice的地址

go - 如何设置 HTTP Post 实体,如 Java 的方法 HttpPost.setEntity

来自二维数组的 Golang slice 列?

sdl - 如何在 Windows 上构建 Go-SDL?

去达到进程的最大线程数吗?

firebase - 无法在返回值中使用类型的变量

go - 从 Golang 执行 web2exe 给我 'exit status 2'