问题 单项选择题

若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。

A.O(0)

B.O(1)

C.O(n)

D.O(n2)

答案

参考答案:C

解析:顺序存储的线性表在插入新元素时,需要将第i个元素到第n个元素均向后移动一个单位,插入的新元素成为第i个元素,原来的第i个元素成为第i+1个元素,原来的第n个元素成为第n+1个元素,线性表的长度加1,插入操作的主要工作都放在移动元素上。假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为:除非插入在线性表的最后,否则都要移动元素。所以其时间复杂度为O(n),答案为C。

填空题
单项选择题