Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践
有句话怎么说来着:
雷锋推倒雷峰塔,Java implements JavaScript.
昔时,想凭借抱Java大年夜腿火一把而不吝把本身名字给改了的JavaScript(原名LiveScript),如今早已光线万丈。node JS的出现更是让JavaScript可以前后端通吃。固然Java依然制霸企业级软件开辟范畴(C/C + +的大年夜神们不要打我。。。),但在Web的江湖,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;
- }
然而,在传统的计算机算法和数据构造范畴,大年夜多半专业教材和书本的默认说话都是Java或者C/C+ +。这给比来想恶补算法和数据构造常识的我造成了必定困扰,因为我想寻找一本以JavaScript为默认说话的算法书本。当我懂得到O’REILLY家的动物丛书系列里有一本叫做《数据构造与算法JavaScript描述》时,便高兴的花了两天时光把这本书大年夜头到尾读了一遍。它是一本很好的┞冯对前端开辟者们的入门算法书本,可是,它有一个很大年夜的缺点,就是琅绫擎有很多明显的小缺点,明显到就连我这种半路削发的法度榜样猿都能一眼看出来。还有一个问题是,很多重要的算法和数据构造常识并没有在这本书里被提到。这些问题对于作为一个晚期强迫症患者的我来说的确不克不及忍。于是乎,一言不合我就决定本身找材料总结算法。那么,我就大年夜算法范呈攀里最基本的常识点——排序算法总结起好了。
我信赖以下的代率攀里必定会有某些bug或缺点或语法不规范等问题是我本身无法发明的,所以敬请各位大年夜神可以或许指掉足误,因为只有在赓续改错的门路上我才能取得长久的进步。
十大年夜经典算法
插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。对于这种算法,得潦攀懒癌的我就套用教科书上的一句经典的话吧:感兴趣的同窗可以在课后自行研究。。。
推荐阅读
对于这种的办法:大年夜网页点击下载时要看看下载的文件名,绿色版的软件一般是目标软件的拼音或者英订婚名,多半是紧缩包(就算是安装版也要打包一下的),所以如不雅下载文件名是无序字符串,以及是exe文件,十有八九>>>详细阅读
本文标题:JavaScript中常见排序算法详解
地址:http://www.17bianji.com/lsqh/39153.html
1/2 1