一、冒泡排序原理:相邻两元素之间两两比较,比较出大值进行赋值互换,再依次与相邻的元素比较,层层递进。#互换元素位置,相互赋值。时间复杂度:最好O(n),最差O(n^2)1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。2、比较完第一轮的时候,最后一个元素是最大的元素。3、这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。constbubbleSort=(arr)=>{for(leti=0;iarr[j+1]){vartemp=0;temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}returnarr;}console.log(bub
在FlutterConstraintLayout中用到了计数排序,众所周知,计数排序在某些场景下可以说是最快的排序算法,它有时甚至不需要元素间两两比较。但它有个最大的问题,它不通用!只适合对小范围的整数进行排序。于是这段时间我一直在寻思着能不能改进它,让它通用呢,终于今天灵感爆发,我做到了!因为我姓陈,所以我把它命名为ChenSort。看看它的性能表现吧:空间复杂度恒为:O(n),时间复杂度为O(nlogn),在最好的情况下,不需要元素间两两比较就能排好序。且它是稳定的。性能测试众所周知全世界公认的最快的通用排序算法是快排,我们来和它做下性能对比吧,基准如下:随机生成若干个范围为[1,4294
在FlutterConstraintLayout中用到了计数排序,众所周知,计数排序在某些场景下可以说是最快的排序算法,它有时甚至不需要元素间两两比较。但它有个最大的问题,它不通用!只适合对小范围的整数进行排序。于是这段时间我一直在寻思着能不能改进它,让它通用呢,终于今天灵感爆发,我做到了!因为我姓陈,所以我把它命名为ChenSort。看看它的性能表现吧:空间复杂度恒为:O(n),时间复杂度为O(nlogn),在最好的情况下,不需要元素间两两比较就能排好序。且它是稳定的。性能测试众所周知全世界公认的最快的通用排序算法是快排,我们来和它做下性能对比吧,基准如下:随机生成若干个范围为[1,4294