当前位置: 首页 > news >正文

网站建设需求确认书上海b2b网络推广外包

网站建设需求确认书,上海b2b网络推广外包,建设银行青海省分行门户网站,免费咨询中心排序 排序:把某个乱序的数组变成升序或降序的数组 (这里用数组来做举例) 归并排序 该排序属于 分治 策略将一个问题分解为两个问题来计算,计算完成之后,就会得到子任务的解,这些解不是最终问题的解,还需要merge起来…

排序

  • 排序:把某个乱序的数组变成升序或降序的数组 (这里用数组来做举例)

归并排序

  • 该排序属于 分治 策略
  • 将一个问题分解为两个问题来计算,计算完成之后,就会得到子任务的解,这些解不是最终问题的解,还需要merge起来

算法实现

// 归并排序
Array.prototype.mergeSort = function() {// 递归自身拆分const rec = (arr) => {let len = arr.length;if(len === 1) {return arr;}let m = Math.floor(len / 2); // 取中值let l = arr.slice(0, mid);let r = arr.slice(0, len);let lo = rec(l); // 递归下去,就变成了一个数组成的数组,最终有序 o => orderlet ro = rec(r); // 同上// 上面递归完成,开始进行合并操作let res = []; // 最终合并后的数组let lol = lo.length; // 左边数组长度let lor = ro.length; // 右边数组长度while(lol || lor) {if(lol && lor) {res.push(lo[0] < ro[0] ? lo.shift() : ro.shift())} else if(lol) {res.push(lo.shift())} else if(rol) {res.push(ro.shift())}}return res;}// 获取递归结果const r = rec(this);// 将有序数组拷贝到this上r.forEach((n, i) => {this[i] = n;});
}let arr = [5,4,3,2,1]
arr.insertionSort()
console.log(arr); // [1, 2, 3, 4, 5]
  • 性能好,火狐的sort方法
  • 思路
    • 分:把数组分成2半,再递归地对子数组进行"分"操作,直到分成一个个单独的数
    • 合:把两个数合并为有序数组,再对有序数组进行合并,直到全部子数组,合并为一个完整数组
      • 两个单独的数组成的数组,也是两个有序数组,这两个数组里都只有1个数
      • 合这个操作,就是不断合并有序数组
    • 如何合并两个有序数组
      • 新建一个空数组res, 用于存放最终排序后的数组
      • 比较两个有序数组的头部,较小者出队并推出res中
      • 如果两个数组还有值,就重复第二步
      • 两个数组都空了,合并完成
  • 时间复杂度:O(nlogn)
    • 分:每次把数组分成两半,用时 O(logn), log函数用于求2^? = n, 自然要?=log_2 n, 即 O(logn)
      • 注意,凡是分的操作,基本都是logn
    • 合:O(n), 一个while循环体
http://www.ds6.com.cn/news/22174.html

相关文章:

  • phpstudy怎么做网站百度账号注册申请
  • 公司网站建设应符合哪些法规网站免费推广网站
  • 广州网站开发招聘简述网站制作的步骤
  • WordPress影视站源码无锡seo公司哪家好
  • 深圳企业100强seo优化培训多少钱
  • 广州十大网站建设最好用的手机优化软件
  • 美国服务器网站推荐成人计算机速成培训班
  • 点个赞科技 网站制作信息流广告公司排名
  • ppt做会动彩字网站方象科技的企业愿景
  • 做网站大概多少钱关键字排名查询工具
  • 网站上写个招贤纳士怎么做搜索引擎简称seo
  • 龙岩网站建设一般多少钱重庆森林影评
  • 重庆市门户网站制作广州疫情已经达峰
  • 建网站 做淘宝客app定制开发
  • 擦边球做网站挣钱网站百度不收录的原因
  • 营销型企业网站建设应遵守的原则指数基金定投技巧
  • 湖南交通建设监理协会网站杭州百度快照推广
  • 森东网站建设天津seo推广优化
  • 国内设计品牌优化的含义是什么
  • 乌鲁木齐网站设计找哪家com网站域名注册
  • 西安建设局官方网站免费自助建站平台
  • 河南平台网站建设制作谷歌推广开户
  • 外贸网站建设广州网络营销的四大特点
  • web开发需要学什么百度快速排名优化工具
  • 做网站被攻击谁的责任sem培训学校
  • 百度做网站投广告竞价排名服务
  • 好的网站特点win7优化大师官网
  • 在谷歌上做外贸网站有用吗百度排名怎么做
  • 怎么用sharepoint做网站深圳百度推广关键词推广
  • 高端的镇江网站建设北京seo网站推广