关于从数组里面取指定位置的元素的时间复杂度的问题

public bool GetElem(int i,ref string e)

{
if(i<1|| i>length)

return false;

e=data[i-1];

return true;

}
书上说这个方法的时间复杂度为O(n),n为数组的长度,我怎么觉得该数组的时间复杂度为O(1)啊

该算法的时间复杂度为O(1),对顺序存储进,按位置查找算法的时间复杂度为O(1),按值查找算法的时间复杂度为O(n),可能搞错了吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-04
书上的是按内容查找,一个一个的,所以是O(n)
第2个回答  2015-09-09
是啊,明明一次就能得到数据,怎么会是O(n)呢?
相似回答