gpt4 book ai didi

c - 为什么访问数组中的元素需要常数时间?

转载 作者:太空狗 更新时间:2023-10-29 16:19:52 24 4
gpt4 key购买 nike

假设我有一个数组:

int a[]={4,5,7,10,2,3,6}

当我访问一个元素时,例如 a[3],幕后究竟发生了什么?为什么很多算法书(比如Cormen书...)都说需要常数时间?

(我只是底层编程的菜鸟,所以我想向你们学习更多)

最佳答案

数组实际上是通过内存位置(指针)知道的。访问 a[3] 可以在常数时间内找到,因为它只是 location_of_a+3*sizeof(int)。

在C中,你可以直接看到这个。请记住,a[3]*(a+3) 相同 - 就其作用而言更清楚一点(取消引用指针“3 项” “结束了)。

关于c - 为什么访问数组中的元素需要常数时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com