设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

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)

  1. function increment(num){  
  2.     return ++num;  

执行时间和参数无关。因此说,上述函数的复杂度是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站长网)

网友评论
推荐文章
    热点阅读