JS数据结构与算法_排序和搜索算法(4)
发布时间:2019-03-29 16:06 所属栏目:21 来源:同梦奇缘
导读:大O表示法用于描述算法的性能和复杂程度。分析算法时,时常遇到一下几类函数 (1)O(1) functionincrement(num){ return++num; } 执行时间和参数无关。因此说,上述函数的复杂度是O(1)(常数) (2)O(n) 以顺序搜索
大O表示法用于描述算法的性能和复杂程度。分析算法时,时常遇到一下几类函数 (1)O(1)
执行时间和参数无关。因此说,上述函数的复杂度是O(1)(常数) (2)O(n) 以顺序搜索函数为例,查找元素需要遍历整个数组,直到找到该元素停止。函数执行的总开销取决于数组元素的个数(数组大小),而且也和搜索的值有关。但是函数复杂度取决于最坏的情况:如果数组大小是10,开销就是10;如果数组大小是1000,开销就是1000。这种函数的时间复杂度是O(n),n是(输入)数组的大小 (3)O(n2) 以冒泡排序为例,在未优化的情况下,每次排序均需进行n*n次执行。时间复杂度为O(n2) 时间复杂度O(n)的代码只有一层循环,而O(n2)的代码有双层嵌套循环。如 果算法有三层遍历数组的嵌套循环,它的时间复杂度很可能就是O(n3) 4.2 时间复杂度比较 (1)常用数据结构时间复杂度 (2)排序算法时间复杂度 【责任编辑:庞桂玉 TEL:(010)68476606】点赞 0 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读