|
|
1
1
你可能会看到圈复杂度。由于if语句的数量,代码可以参与很多路径。想象一棵树,树根向下延伸,每一个if语句都是树根的一个裂口,在那里它们向不同的方向分支。 会有很多单独的根路径!
降低圈复杂度的一种方法是尽可能消除唯一路径的数量。 嵌套的if语句可能会增加时间复杂性。 首先,嵌套for循环将导致O(n^2)时间复杂性,这实际上取决于if语句的性质。如果if语句是o(1),例如检查变量是否等于int,那么它应该对运行时几乎没有影响。
但是,如果那些if语句在集合上迭代以查找匹配项,那么它将为每个集合迭代添加一个额外的O(N)复杂性层。
重要的是要了解每个if语句的时间复杂性。甚至有可能每个if语句都比o(n)更糟,这会对程序的性能产生负面影响。 |
|
|
Matthew · 发现程序的时间复杂性 2 年前 |
|
|
TreasureGhost · 以下函数的时间复杂度是多少 2 年前 |
|
|
user129393192 · 这个问题的最优算法是什么? 2 年前 |
|
|
3366784 · 使用序列初始化字符串的时间复杂度是多少? 3 年前 |
|
|
data-oil · 在字符串列表中搜索的高效快捷方法 8 年前 |