线性表(顺序存储结构)作业

~~~~~~~~`

作业(线性表——顺序存储结构)

一、 选择(2分) (1)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( B )个元素。

A.n-i B.n-i+1 C.n-i-1 D.i (2)在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( A )。

A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)

B.在第i个结点后插入一个新结点(1≤i≤n)

C.删除第i个结点(1≤i≤n)

D.将n个结点从小到大排序

二、 填空(2分)

(1)当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用___顺序____存储结构。

(2)线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是____(n-1)/2____。

三、 算法设计(6分)

已知一顺序表A,其元素值非递减有序排列,编写一个算法删除顺序表中多余的值相同的元素,并给出算法的时间复杂度。

(注:顺序表即线性表的顺序存储结构,因此不要采用类似于教科书中算法2.1那种高度形式化的伪码实现,而应该采用类C语言伪代码实现,且若有子函数调用,也需给出子函数的实现。其书写形式参考教科书或习题集)

线性表(顺序存储结构)作业相关文档

最新文档

返回顶部