JavaScript中基数排序详解
程序员文章站
2022-04-10 12:49:10
...
本篇文章讲述了JavaScript中基数排序,大家对JavaScript中基数排序不了解的话或者对JavaScript中基数排序感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧
基数排序有两种方法
1、MSD 从高位开始进行排序
2、LSD 从低位开始进行排序
基数排序 vs 计数排序 vs 桶排序
这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:
基数排序:根据键值的每位数字来分配桶
计数排序:每个桶只存储单一键值
桶排序:每个桶存储一定范围的数值
LSD基数排序动图演示:
基数排序JavaScript代码实现:
//LSD Radix Sort var counter = [];function radixSort(arr, maxDigit) { var mod = 10; var dev = 1; for (var i = 0; i < maxDigit; i++, dev *= 10, mod *= 10) { for(var j = 0; j < arr.length; j++) { var bucket = parseInt((arr[j] % mod) / dev); if(counter[bucket]==null) { counter[bucket] = []; } counter[bucket].push(arr[j]); } var pos = 0; for(var j = 0; j < counter.length; j++) { var value = null; if(counter[j]!=null) { while ((value = counter[j].shift()) != null) { arr[pos++] = value; } } } } return arr;}
以上就是本篇文章的所有内容,大家要是还不太了解的话,可以自己多实现两边就很容易掌握了哦!
相关推荐:
以上就是JavaScript中基数排序详解的详细内容,更多请关注其它相关文章!
推荐阅读
-
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
-
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
-
详解git中配置的.gitignore不生效的解决办法
-
在centos 7中安装配置k8s集群的步骤详解
-
详解VUE 对element-ui中的ElTableColumn扩展
-
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
-
怎么在Word中插入目录 Word报告常规目录制作方法详解
-
详解C#中的session用法
-
linux中SUID,SGID与SBIT的奇妙用途详解
-
JavaScript中的浅拷贝与深拷贝-前端爬坑-SegmentFault思否