27,211
社区成员
发帖
与我相关
我的任务
分享T(n)。O(1):无论输入规模多大,算法执行时间恒定。例如,直接返回一个变量。O(n):算法执行时间与输入规模成正比。例如,简单的循环遍历数组。O(n^2):常见于双层嵌套循环的算法。O(log n):算法执行时间与输入规模的对数成正比,通常在二分查找中出现。O(2^n):算法执行时间随输入规模的指数倍增长,例如递归解决子集生成问题。n 变得非常大时,只需保留复杂度表达式中的最高阶项并忽略常数系数。例如,3n^2 + 2n + 5 可以简化为 O(n^2)。S(n),其中 n 为输入规模。O(1):只占用常量空间,与输入规模无关,例如用几个固定变量存储结果的算法。O(n):所需空间与输入规模成正比,例如使用数组存储中间结果的算法。O(1)。O(n^2) 的示例代码:def example(n):
for i in range(n):
for j in range(n):
print(i, j)
💡 总结:理解并计算算法的时间和空间复杂度对分析算法的效率至关重要。在解决实际问题时,选择合适的算法不仅能提高运行效率,还能有效利用内存资源。