建立网站服务的公司网站,江西建筑工程网,成都seo公司,wordpress 加载中目录 时间复杂度 空间复杂度 时间复杂度 基本操作的执行次数#xff0c;为时间复杂度。 我们使用大O的渐进表示法来表示时间复杂度。 怎么使用#xff1f; 先看例子#xff1a; 在这个例子中#xff0c; 基本操作为变量 count 的 加加 操作#xff0c;并且#xff0c;执行…
目录 时间复杂度 空间复杂度 时间复杂度 基本操作的执行次数为时间复杂度。 我们使用大O的渐进表示法来表示时间复杂度。 怎么使用 先看例子 在这个例子中 基本操作为变量 count 的 加加 操作并且执行次数与 参数 N 有关操作次数为 N^22*N 10 实际中我们计算时间复杂度时我们其实并不⼀定要计算精确的执行次数而只需要大概执行次数也就是我们使用的大O的渐进表示法。 所以现在我们应该怎么使用大O的渐进表示法表示呢 大O的渐进表示法 1.用 O(1) 表示固定的操作次数。 2.在修改最后的运行次数的函数中只保留最高次项并且除去最高次项前面的系数则为结果。 显然上面的示例代码就是第二种情况。表示成O(N^2) 再来一个例子 这是一个二分查找的代码代码结束可能有这几种情况 最好情况运行一次找到。 较好情况运行一半次数找到。 最坏情况运行最后一次才找到。 那么在实际中我们⼀般情况关注的是最坏运行情况这里的代码执行次数与元素个数有关用 N 表示元素个数。则 由图分析得到 2^循环次数 - 1 N ----- 循环次数 时间复杂度为也就是上图。 对数以2为底的情况下可以简写成O(logN) 空间复杂度 空间复杂度是对代码在运行过程中临时占用存储空间大小的量度。 空间复杂度也使用大O渐进表示法。 例子1 使用了常数个额外空间所以空间复杂度为O(1) 例子2 临时创建的空间大小与n有关所以是动态开辟了n个空间空间复杂度为O(n) 例子3 这里每次递归都会调用函数add调用就会开辟内存空间调用了N次开辟了N个栈帧每个栈帧使用了常数个空间。空间复杂度为O(N)