设线性表有n个元素,以下算法中,( )在顺序表上实现比在链表上实现效率更高。
A.输出第i(0≤i≤n—1)个元素值
B.交换第0个元素与第1个元素的值
C.顺序输出这n个元素的值
D.输出与给定值x相等的元素在线性表中的序号
A.输出第i(0≤i≤n—1)个元素值
B.交换第0个元素与第1个元素的值
C.顺序输出这n个元素的值
D.输出与给定值x相等的元素在线性表中的序号
A.删除所有值为x的元素
B.在最后一个元素的后面插入一个新元素
C.顺序输出前k个元素
D.交换第i个元素和第n-i-1个元素的值(i=1,1,n)
线性搜索算法如下:
设A的n个元素都不相同.r已在A中的概率为p(0≤p≤1),并且当x在A中时,x等于A的每一个元素的可能性相等.试分析算法的平均时间复杂度.
设A的n个元素都不相同,证明下述算法产生的排列A[1],A[2],…,A[n]服从均匀分布:
Random Permute Array(A) //数组A[1..n]
1.for i←1 to n do
2.产生{i,i+1,…,n}上的均匀随机数k
3.交换A[i]与A[k]
这段程序能起到随机化输入,使其服从均匀分布的作用.比如,在快速排序算法的前面加上这段程序,就得到随机快速排序算法.
在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)插入一个新元素时,需要从后向前依次后移()个元素。
A.n-i
B.n-i-1
C.n-i+1
D.i
A.访问第i个元素(2≤i≤n)并求其前驱元素
B.在第i个元素之后插入一个新元素
C.删除第i个元素
D.将这n个元素递增排序
O(n)的算法:将L改造为I.=(a1,a3,…,an,…,a4,a2)。
在以下的叙述中,正确的是()。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
在线性表中,除了开始元素外,每个元素()。
A.只有唯一的前趋元素
B.只有唯一的后继元素
C.有多个前趋元素
D.有多个后继元素
A、10
B、25
C、6
D、625