问题: len() 调用字符串(string)和slices ([]int) 常数时间 (O(1))操作?
答案:是的,len() 调用对于字符串和切片都是 O(1) 操作。
字符串标头包含指向支持数组及其长度的指针。 len() 函数只是从字符串头返回长度字段,使其成为 O(1) 操作。
切片具有长度、容量和指向底层的指针大批。与字符串类似,len() 函数返回切片头中存储的长度字段,时间复杂度为 O(1)。
Builtin.go 解释:
builtin.go 文件包含 Go 预定义标识符的文档,例如 len()。您引用的摘录表明,此文件中记录的项目不是实际内置包的一部分,而只是为了提供特定于语言的标识符的文档而存在。
以上是Go 的字符串和切片的 len() 函数是常数时间 (O(1)) 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!