范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

很多程序员不用js自带的sort函数而要自己手写排序呢?

  看了很多js排序代码,为什么很多程序员不用js自带的sort函数而要自己手写排序呢?
  首先这个想法,肯定是很多人都有的,也是特别正常的,就好比我们看到一辆跑车
  第一时间,想到的能不能买地起~
  如果买了,第一时间肯定是看开的爽不爽,后头率高不高~
  但是作为一名工程师,研发汽车那种,可能会想到这辆车的内部结构,是几座的、发动机是哪个厂家的、百公里加速需要几秒、自主研发大概需要多久……
  考虑的内容会很不一样,下面我们回到正题。 排序
  js自带的是sort排序,这个排序也特别好用,普通人用sort能实现效果就可以了,更加资深或者想变成资深的程序员,可能会思考sort是怎么写的呢、内部是怎么实现的、性能是不是真的高、能不能适应所有场景......
  那么接下来 我们来看看这个sort。
  其内部原理,首先:内部利用递归进行比较,例如: let  list = [1,3,4,2]
  比较的逻辑为:
  第一轮
  1和3比 ->[1,3,4,2]
  1和4比 ->[1,3,4,2]
  1和2比 ->[1,3,4,2]
  第二轮
  3和4比 ->[1,3,4,2]
  3和2比 ->[1,2,4,3]
  第三轮
  4和3比 ->[1,2,3,4]
  其次,里面会有一个compare方法,用来比较两个值,判断两个值的大小,然后交换。 测试sort的性能问题
  先准备一个1到10000的集合: let  list = [] for(let i=0;i<10000;i++){     list.push(i) }
  再将数组乱序排序,这里就可以用sort来排序。我们声明了一个count来计数,得到的结果是114434次。    let count = 0    list.sort(()=>{        count++        return  Math.random()-0.5   })    console.log(count)
  我们在用自己封装的洗牌算法来进行一次,得到的计算是 10000次数。    function shuffle(arr) {        let count = 0;        for (let i = arr.length - 1; i >= 0; i--) {            count++;            let rIndex = Math.floor(Math.random() * (i + 1));            let temp = arr[rIndex];            arr[rIndex] = arr[i];            arr[i] = temp;       }        console.log(count);        return arr;   }    shuffle(list)
  得到的结论是 :用sort来进行的乱序排列,和自己封装的排序,性能上相差10倍,并且随着 数据量越大,sort性能相对会弱一点。
  补充一下,算法的复杂度: O (log n)   对数时间   二分查找  O (n)       线性时间   简单的循环查找  O(n*logn)   快速排序  O(n2) n的平方 选择排序  O(n!)       排列组合
  可以根据实际情况,进行使用,选择使用。
  算法的速度:不是指时间,而是操作数的。
  得到同样的结果,循环比较的次数越低,其性能越好。
  所以在前端领域,我们对于算法的要求会越来越高,甚至有些地方的算法难度会超过后端,比如js的人脸识别等。

特斯拉公布国内最新运营数据超级充电桩超67000个7月8日,特斯拉中国官网正式上线ModelY标准续航版,起售价为27。6万元,续航里程(国标工况法)达525公里。看起来,特斯拉想用低价策略再次收割一波韭菜,哦不,销量。智车派注意谁说没有国产系统,这些你都用过吗?介绍win11那篇文章,同步到百家号后台的某条留言,说我们没有自己的操作系统。这我就不能忍了,直接开启了回怼模式。我们并不是没有国产操作系统,只是没人用,或者说是还不太适合大部分普手机听筒或外放声音变小怎么回事?经常有朋友问我手机听筒或者外放声音变小,之前还正常,突然就小了。这个问题可以先自己尝试排查。先按音量键把声音开到最大,而且要把系统里面铃声媒体蓝牙声音设置都开到最大,然后打电话或者助听器是不是都有滋滋的声音,为什么?我们生活在一个充满噪音的世界里,只不过是一些环境噪音大一些环境噪音小而且就是最好的助听器,也会产生本机噪音,所以没有噪声的助听器是不存在的。关键是好的助听器验配师能让助听器使用者听声音明亮颜值还很能打,山灵ME500Shine闪耀全场2019年,山灵音响发布旗下首款三单元圈铁耳机ME500。凭借精湛优秀的产品做工,出色的音质表现和出众的颜值获得烧友们一致的好评。之后,它们有推出了限定版的ME500白金版,颜值和郭台铭后悔吗?培养的徒弟成劲敌,从富士康手里抢走iPhone13订单富士康是全球最大的电子代工巨头,也是大中华地区最大的民营企业。根据富士康的财报显示,2020年富士康的总营收高达1913亿美元,比内地最大的民营企业华为还要多700亿美元左右。富士第四波鸿蒙内测将开始,多款荣耀机型在列,华为有望提前完成计划华为已经官宣HarmonyOS2第四批内测将于7月中旬启动,包含HUAWEIP20系列HUAWEIMate10系列HUAWEInova5iHUAWEInova4荣耀X10系列荣耀3国内芯片重大好消息!中科院成功研制出光量子芯片中科院传来好消息,我国成功研制出新型芯片近日,中科院传来一个好消息,对热度非常高的芯片行业来说绝对是一个震动,我国成功研制出新型芯片光量子芯片。不少人认为光量子芯片研发成功,意味着无反转接环单反镜头的成像质量高于单反单反镜头吗?如果机型配置是一样或接近的,无反配合转接环加单反镜头,与同档次单反加单反镜头成像质量并无区别,甚至由于转接环的原因还会导致个别情况下的画质受影响。举一个简单的例子,使用相同规格cm如果有一个速度达到光速10亿倍的超级飞船朝宇宙一个方向飞行,会不会到达宇宙边界?别说10亿倍光速,就是1000亿倍光速,你也飞不到宇宙的边缘。因为宇宙的定义是无穷无尽的物质存在于无始无终的时间和无边无际的空间。这并不妨碍你成为最有贡献的探索者。你可以发现其他有三星GalaxyM525G通过3C认证,配备5000mAh电池早些时间,已有信息显示三星计划推出一款型号为GalaxyM525G的中端机型。而在近日,该款机型也正式通过了3C认证。GalaxyM525G的上代机型GalaxyM51配备了700
丈夫的抚恤金用来与二婚老公一起盖房子,被霸占,该怎么办?玉秀是个苦命的女人,生活在农村,丈夫去世的时候,他的儿子才12岁,她的丈夫是因车祸去世了。对方赔偿了15万,丈夫临死时说,这些钱留给孩子,等他长大了,盖房子娶媳妇儿用。寡妇的日子不女孩出生富足家庭,大学毕业时家遭变故,辛苦打拼20年,47岁嫁人我朋友他跟我说,他小时候从来没缺过钱,他爸爸是做生意的,在农村来说是个能人,也是当地特别富足的家庭。她有个姐姐和一个小弟弟,她们姐妹两个是从小被宠到大的,可是就在2000年,他大学iOS14。4betaba版体验分享iOS14。4beta1体验分享今天凌晨苹果发布iOS14。4第一个测试版,更新包大小为5GB,版本号为14。4(18D5030e)。本次更新没有什么肉眼可见的更新。流畅性上,比iiOS14。5beta7体验分享,支持第三方配件定位iOS14。5beta7体验分享哈喽,各位!欢迎收看本期的iOS系统体验分享。今天凌晨苹果发布了iOS14。5beta7版本,本次更新包大小为258。3MB,版本号为14。5(18iOS14。4。1正式版来了,修复Web恶意代码哈喽,各位!欢迎收看本期的iOS系统体验分享。今天凌晨苹果发布了iOS14。4。1正式版操作系统,本次更新包大小为144。9MB,版本号为14。4。1(18D61)。本次更新内容为洛达1562AAirPodsPro体验分享华强北AirPodsPro体验分享前言2016年苹果发布了首款AirPods蓝牙耳机,起初所有人对于苹果的做法都不理解,都不看好这个售价过千元的蓝牙耳机。时至今日随着AirPods千万姐淘女郎爆火时隐退,做模特年入千万,开网店年入过亿30多度的杭州,余潇潇裹着淡蓝色羽绒服,穿着白色打底裤,她竭力露出暖和舒适的表情,对着镜头一分钟变换几十个姿势,唯一的降暑物是她手里的冰咖啡。在余潇潇拍照地点的不远处,还有几位和她富二代负债3000万,把几毛钱生意做成爆款,成行业第一灯红酒绿不如打拼事业。文姜雪芬编辑范婷婷你知道一个月的时间能有多恐怖么?回国之前,陈名一直觉得自己家很牛,有点小钱,老爸坐拥300多家线下百货用品门店,在网上,他们的外贸生意火爆,一天卖出5000份凉皮,三代家传的铺子如何霸榜行业TOP?据说秦始皇就爱吃。文易琬玉编辑范婷婷凉皮,大概是碳水在没胃口的夏天,能拥有的最妥帖的形式。尤其在盛产优质小麦的中国北方,它是家家户户信手拈来的吃食泛着好看光泽的面皮,辅以各类蔬菜丝80后夫妻跳出职场内卷,投身小众行业后,七年实现财务自由圈子生意有上限吗?文吴鹤鸣编辑范婷婷又被抄了。文君辛苦几天设计的图纸,刚上架就被人抄走。可能这是太红的代价。宝可梦超级玛丽迪士尼植物大战僵尸NASA宇航员你能想到的IP,都是她的创iOS14。5测试版到来,FaceID终于支持戴口罩解锁iOS14。5beta版体验分享嗨喽!欢迎各位收看到本期iOS系统体验分享,我是追卜忆。今天凌晨苹果向开发者推送了第一个iOS14。5测试版,版本号14。5(18E5140j)。版