单项选择(2016年春程序员软考)

对于长度为n的线性表(即n个元素构成的序列),若采用顺序存储结构(数组存储),则在等概率下,删除一个元素平均需要移动的元素数为【 】。

A、n

B、(n-1)/2

C、n/2

D、logn

答案解析

B

【解析】

在顺序存储且长度为n的线性表中删除一个元素时,共有n个元素可供删除,因此等概率下删除每个元素的概率为1/n,删除第i个元素时(1≤i≤n),需要将后面的(n-i)个元素依次前移一个位置,所以删除一个元素平均需要移动的元素数为1/n·(n-i)=(n-1)/2。

讨论

表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为_______,删除一个元素需要移动元素的平均个数为_______。供选择的答案:A.(n-1)/2 B.n C.n+1 D.n-1 E.n/2 F.(n+1)/2 G.(n-2)/2

在含有n个元素的顺序表中,算法时间复杂度为O(1)的操作是【 】

线性表选用顺序存储结构表示的适用场合是____________________。

顺序表存储方式只能用于存储线性结构。

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

设A是一个线性表(a1,a1,...,an),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为多少?若元素插在ai与ai+1之间(0≤i≤n-1)的概率为,则平均每插入一个元素所要移动的元素个数又是多少?

假设线性表的长度为n,且采用顺序存储结构存储。当在线性表的任何位置上插入一个数据元素的概率相同时,插入一个数据元素需要移动元素的平均个数为【 】。

含有n个元素的线性表采用顺序存储,等概率删除其中任一个元素,平均需要移动【 】个元素。

含有n个元素的线性表用顺序存储方式时,对其运算速度最快的操作是【 】。

含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是【 】。