有一个顺序表L,设计一个算法找第一个值最小的元素的逻辑序号,并给出算法的时间复杂度和空间复杂度。
答:设顺序表的长度为n (下同),则算法如下:int index=0;for (int i=0;iL.data[i+1]) index=i;}return index;此算法的时间复杂度为O(n).空间复杂度为O(1)。
举一反三
内容
- 0
已知有两个按元素值递增有序的顺序表A和B(这样的顺序表称递增有序顺序表)。设计一个算法将顺序表A和B的全部元素归并到一个按元素递增有序的顺序表C中。并分析算法的空间复杂度和时间复杂度。
- 1
中国大学MOOC:在一个含有n个元素的顺序表中查找值为x元素,对应算法的时间复杂度为()。
- 2
有两个集合采用递增有序顺序表L1、L2存储,设计一个在时间上尽可能高效的算法求两个集合的并集,并给出算法的时间复杂度和空间复杂度。
- 3
已知非递减的顺序表L=____。编写一个在时间和空间两方面都尽量高效的算法,删除重复的元素,使其变为L=____,并说明你所设计算法的时间复杂度和空间复杂度。
- 4
对于顺序表,访问第i个元素的时间复杂度是____,和在第i个位置插入一个元素的时间复杂度为____