在n个结点的线性表的数组实现中,算法的时间复杂度是O(1)的操作是()。
A访问第i(1<=i<=n)个结点和求第i个结点的直接前驱(1<i<=n)
B在第i(1<=i<=n)个结点后插入一个新结点
C删除第i(1<=i<=n)个结点
D以上都不对
正确答案
答案解析
相似试题
(简答题)
线性表存放在整型数组A[arrsize]的前elenum个单元中,且递增有序。编写算法,将元素x插入到线性表的适当位置上,以保持线性表的有序性,并且分析算法的时间复杂度。
(简答题)
已知一棵具有n个结点的完全二叉树被顺序存储于一维数组的A[1]~A[n]元素中,试编写一个算法打印出编号为i的结点的双亲和所有孩子。
(填空题)
对于线性表的顺序存储,需要预先分配好存储空间。若分配太多容易造成存储空间的(),若分配太少又容易在算法中造成(),因而只适用于数据量变化不大的情况;对于线性表的链接存储,不需要()存储空间,存储器中的整个()都可供使用,分配和回收结点都非常方便,能有效的利用存储空间,在算法中不必考虑()的发生,因而适用于数据量变化较大的情况。
(单选题)
一棵有n个结点的二叉树,按层次从上到下,同一层从左到右的顺序存储在一维数组A[n]中,则二叉树中第I个结点(I从1开始用上述方法编号)的右孩子在数组A中的位置是()
(简答题)
编写算法,实现带头结点单链表的逆置算法。
(简答题)
已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将这两个链表连接在一起,假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。
(简答题)
设计一个时间复杂度为O(n)的算法,实现将数组A[n]中所有元素循环右移k个位置。
(单选题)
在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
(简答题)
设线性表,A=(a1,a2,…,am)B=(b1,b2,…,bn),试写一个按下列规则合并A,B为线性表C的算法,即使得 C=(a1,b1,…,am,bm,bm+1,…,bn)当m≤n时; C=(a1,b1,…,an,bn,an+1,…,am)当时m>n时。 线性表A,B和C均以单链表作存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。