已知一个长度为n的单链表中所有结点是递增有序的,以下叙述中正确的是()。
A.插入一个结点使之有序的算法的时间复杂度为O(1)
B.删除最大值结点使之有序的算法的时间复杂度为O(1)
C.找最小值结点的算法的时间复杂度为O(1)
D.以上都不对
第1题:
●在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是 (53) 。
(53) A.O(1)
B.O(n)
C.O(nlogn)
D.O(n2)
【解析】本题主要考核有序单链表上的插入操作及算法分析。对数据结构的任何操作都不能改变其原有的结构特性。因此,在有序单链表中插入一个新结点后,仍然要保持它的有序性。
插入操作的关键是查找插入位置,主要时间也是花在插入位置的查找上。n个结点的单链表,有,n+1个可能插入的位置,即第一个结点之前和每一个结点之后。在第一个结点之前插入,需比较一次;在第一个结点之后插入需比较两次;…;在第,n个结点之后插入需查找次。如果在每一个位置上作插入的概率相等,即 ,则在有序单链表上查找插入位置的平均比较次数为:
第2题:
A、O(1)
B、O(n)
C、O(n的平方)
D、O(log2n)
第3题:
A.删除单链表中的第一个元素
B.删除单链表中的尾结点
C.在单链表的第一个元素前插入一个新结点
D.在单链表的最后一个元素后插入一个新结点
第4题:
下列叙述中,正确的是
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
第5题:
● 有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为( )。
A. O(1)
B. O(logn)
C. O(n)
D. O(n2)
第6题:
在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂性为______。
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
第7题:
●(37)有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为(37)。
(37)A.O(1)
B. O(logn)
C.O(n)
D. O(n2)
第8题:
第9题:
第10题:
已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。
第11题:
第12题:
O(1)
O(n)
O(n2)
O(nlog2n)
第13题:
下列叙述中错误的是()。
A.在双向链表中,可以从任何一个结点开始直接遍历到所有结点
B.在循环链表中,可以从任何一个结点开始直接遍历到所有结点
C.在线性单链表中,可以从任何一个结点开始直接遍历到所有结点
D.在二叉链表中,可以从根结点开始遍历到所有结点
第14题:
A.插入一个结点使之有序的算法的时间复杂度为O(1)
B.删除最大值结点使之有序的算法的时间复杂度为O(1)
C.找最小值结点的算法的时间复杂度为O(1)
D.以上都不对
第15题:
第16题:
在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是(53)。
A.O(1)
B.O(n)
C.O(nlogn)
D.O(n2)
第17题:
在一个具有n个结点的有序单链表中插入一个新结点,并使其仍然有序的时间复杂性为______。
A.O(1)
B.O(n)
C.O(n2)
D.O(10g2n)
第18题:
在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()
A.O(1)
B.O(n)
C.O(n2)
D.O(nlogn)
第19题:
( 1 )下列叙述中正确的是
A ) 对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 n
B ) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为( n /2 )
C ) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 ( log 2 n )
D ) 对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 ( n log 2 n )
第20题:
第21题:
在n个结点的单链表中要删除已知结点*p,需找到它的(),其时间复杂度为()。
第22题:
对于一个具有n个结点的单链表中,在已知的结点后插入一个新结点的时间复杂度为()在给定值为X的结点后插入一个新结点的时间复杂度为()。
第23题:
O(1)
O(n)
O(n2)
O(log2n)
第24题: