Time complexity 时间复杂性中的主导项

Time complexity 时间复杂性中的主导项,time-complexity,Time Complexity,如果算法具有时间复杂度O(n+m),并且我们知道m>=n(例如,我们正在遍历一个具有n节点和m边的连通图)。那么我认为以下是正确的: O(n+m)=O(m) O(n log n+m)不能通过简化 这是正确的吗?是的。要消除其中一个术语,您必须更多地了解n/m 是的。要消除其中一个术语,您必须更多地了解n/m 但更准确的是,使用O(n+m)来习惯于思考属性,这使得复杂性增加。一般情况下,图m>n,但也有一些特殊情况,如树,其中m=n-1或迷宫,其中m=4*n(可以向4个方向移动:上、下、左、右

如果算法具有时间复杂度
O(n+m)
,并且我们知道
m>=n
(例如,我们正在遍历一个具有
n
节点和
m
边的连通图)。那么我认为以下是正确的:

  • O(n+m)=O(m)
  • O(n log n+m)
    不能通过简化

这是正确的吗?

是的。要消除其中一个术语,您必须更多地了解n/m

是的。要消除其中一个术语,您必须更多地了解n/m

但更准确的是,使用O(n+m)来习惯于思考属性,这使得复杂性增加。一般情况下,图m>n,但也有一些特殊情况,如树,其中m=n-1或迷宫,其中m=4*n(可以向4个方向移动:上、下、左、右)。这一点很重要,例如在竞赛编程中,在O(n+m)中运行的程序可能比在O(n^2)中运行的程序更容易实现……但更准确的是,使用O(n+m)来考虑属性,这会增加复杂性。一般情况下,图m>n,但也有一些特殊情况,如树,其中m=n-1或迷宫,其中m=4*n(可以向4个方向移动:上、下、左、右)。例如,在竞赛编程中,这一点很重要,在竞赛编程中,以O(n+m)运行的程序比以O(n^2)为例的程序更容易实现。。。