(1)向一个有序数组中插入一个数的時间复杂度是多少?
对于有序数组的插入不是随机的插入,需要寻找插入位置查找插入位置如果用遍历查找的是O(n),用二分查找是O(log2n)
但是數组的插入操作需要将插入位置后的元素全部后移一位,这需要O(n)
2) 有序链表查找的时间复杂度是O(n)的原因是什么?
折半查找对链表而言根本鈈能达到O(logN)的效率只有当访问集合中任何一个元素的时间是常量O(1)时间时,折半查找才能达到O(logN)而链表访问其中元素的平均时间是O(N)即线性时間。对用数组构造的集合才能使用折半查找