已知两个长度分别为m 和n 的升序链表
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/08 06:46:57
已知两个长度分别为m 和n 的升序链表
若将它们合并为一个长度为m+n 的降序链表,则
最坏情况下的时间复杂度是
A.O(n) B.O(mn) C.O(min(m,n)) D.O(max(m,n))
若将它们合并为一个长度为m+n 的降序链表,则
最坏情况下的时间复杂度是
A.O(n) B.O(mn) C.O(min(m,n)) D.O(max(m,n))
wandersss 网友说的不对,即使改成“非降序链表”,准确答案是O(m+n)而不是O(max(m,n)),比如链表1为100~999(900个数,m=900),链表2为1~99、1000(100个数,n=100),整个比较次数为99+900=999次.
下面我说说我对这道题的理首先这道题的准确答案是O(m+n),可是选项中没有,所以只能选一个最符合准确答案的选项,即使它不一定是正确的.
假设m大于n,
如果m非常接近于n,则O(m*n)~=O(n^2)>>O(m+n)~=O(2n),所以B不正确
如果m>>n,则O(m+n)>>O(n),O(m+n)>>O(min(m,n)) =O(n),所以A、C不正确
只有D,如果m非常接近于n,则O(m+n)~=O(2n)约等于O(n);如果m>>n,O(m+n)也约等于O(max(m,n))=O(m)
这道有序链表合并的问题,如果是按照原序排列,则最好的情况是O(min(m,n)) ,最坏的情况是O(m+n);如果是按照原序的逆序排列,则无论最好最坏都是O(m+n)
一开始说了最坏情况,下面说一下最好情况.比如链表1为100~999(900个数,m=900),链表2为0~99(100个数,n=100),整个比较次数为100次.在比较完成之后直接把链表1剩余所有链表直接挂在新链表(也可以直接是链表2)的后面.
下面我说说我对这道题的理首先这道题的准确答案是O(m+n),可是选项中没有,所以只能选一个最符合准确答案的选项,即使它不一定是正确的.
假设m大于n,
如果m非常接近于n,则O(m*n)~=O(n^2)>>O(m+n)~=O(2n),所以B不正确
如果m>>n,则O(m+n)>>O(n),O(m+n)>>O(min(m,n)) =O(n),所以A、C不正确
只有D,如果m非常接近于n,则O(m+n)~=O(2n)约等于O(n);如果m>>n,O(m+n)也约等于O(max(m,n))=O(m)
这道有序链表合并的问题,如果是按照原序排列,则最好的情况是O(min(m,n)) ,最坏的情况是O(m+n);如果是按照原序的逆序排列,则无论最好最坏都是O(m+n)
一开始说了最坏情况,下面说一下最好情况.比如链表1为100~999(900个数,m=900),链表2为0~99(100个数,n=100),整个比较次数为100次.在比较完成之后直接把链表1剩余所有链表直接挂在新链表(也可以直接是链表2)的后面.
现有长度均为0.1m的两根弹簧A和B,已知弹簧A和B的劲度系数分别为100N/m和200N/m.为了制成一个长度也是0.
已知长方形ABCD,一条直线将它分割成两多边形,若这两个多边形的内角和分别为M和N,则M和N值是
已知A,B,C在数轴上表示的点分别为-8,0,4.P是数轴上一点.M,N是数轴上的两个动点,M的速度为3个单位长度每秒,
证明两个群是同构两个群分别为(Z,+)和(Z,*).*的运算为n*m = n+ m +5.n,m属于Z
如图,已知两个正方形ABCD和DCEF不在同一平面内,平面ABCD⊥平面DCEF,M,N分别为AB,DF的中点,若两个正
两根长度相等的轻绳,下端悬挂一质量为m物体,上端分别固定在水平天花板上的M和N点,两点间的距离为S,如图所示已知两绳所能
质量分别是m1和m2的两个带电小球M、N,分别用长度为L的绝缘细线悬挂于同一点O点,MN连线与竖直线交与A点,
信号与系统题 已知f1(n)、f2(n)是有限长函数,长度分别为L、M则f1(n)*f2(n)的长度是多少?
如图所示,已知两个正方形ABCD和DCEF不在同一平面内,M、N分别为AB、DF的中点,求证:直线ME与BN是两条异面直
已知,如图,B为线段AC上的一点,M,N,分别为AB,BC,的中点,AC=10cm,求MN的长度.
已知,B为线段AC上的一点,M,N分别为AB,BC的中点,AC=10cm,求MN的长度
已知直角三角形的两个锐角分别为30°和60°,如何算出三条边的长度比例?