作家
登录

十大经典排序算法的JS版

作者: 来源: 2017-07-18 14:59:52 阅读 我要评论

); 
  •  
  •     for (var i = 0; i < len - 1; i++) { 
  •  
  •         minIndex = i; 
  •  
  •         for (var j = i + 1; j < len; j++) { 
  •  
  •             if (arr[j] < arr[minIndex]) {     //寻找最小的数 
  •  
  •                 minIndex = j;                 //将最小数的索引保存 
  •  
  •             } 
  •  
  •         } 
  •  
  •         temp = arr[i]; 
  •  
  •         arr[i] = arr[minIndex]; 
  •  
  •         arr[minIndex] = temp
  •  
  •     } 
  •  
  •     console.timeEnd('选择排序耗时'); 
  •  
  •     return arr; 
  •  
  •  
  • var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48]; 
  •  
  • console.log(selectionSort(arr));//[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]  
  • 选择排序动图演示:

    JavaScript可谓风头无两,已经坐上了头把交椅。

    • 在传统的计算机算法和数据构造范畴,大年夜多半专业教材和书本的默认说话都是Java或者C/C+ +,O’REILLY家倒是出了一本叫做《数据构造与算法javascript描述》的书,但不得不说,不知道是作者吃了shit照样译者根本就没校订,满书的小缺点,这就像那种无穷无尽的小bug一样,的确就是让人有种嘴里塞满了shit的感到,吐也不是咽下去也不是。对于一个前妒攀来说,尤其是笔试面试的时刻,算法方面考的其实不难(

    (3)算法分析

    • 最佳情况:T(n) = O(n2)
    • 最差情况:T(n) = O(n2)
    • 平均情况:T(n) = O(n2)

    3.插入排序(Insertion Sort)

    插入排序的代码实现固然没有冒泡排序和选择排序那么简单粗暴,但它的道理应当是最轻易懂得的了,因为只要打过扑克牌的人都应当可以或许秒懂。当然,如不雅你说你打扑克牌摸牌的时刻大年夜来不按牌的大年夜小整顿牌,那估计这辈子你对插入排序的算法都不会产生任何必趣了…..

    (1)算法简介

    插入排序(Insertion-Sort)的算法描述是一种简单直不雅的排序算法。它的工作道理是经由过程构建有序序列,对于未排序数据,在已排序序列中大年夜后向前扫描,找到响应地位并插入。插入排序在实现上,平日采取in-place排序(即只需用到O(1)的额外空间的排序),因而在大年夜后向前扫描过程中,须要反复把已排序元素慢慢向后挪位,为最新元素供给插入空间。

    (2)算法描述和实现

    一般来说,插入排序都采取in-place在数组上实现。具体算法描述如下:

    • <1>.大年夜第一个元素开端,该元素可以认为已经被排序;
    • <2>.掏出下一?元素,在已经排序的元素序列中大年夜后向前扫描;
    • <3>.如不雅该元素(已排序)大年夜于新元素,将该元素移到下一地位;
    • <4>.反复步调3,直到找到已排序的元素小于或者等于新元素的地位;
    • <5>.将新元素插入到该地位后;
    • <6>.反复步调2~5。

    Javascript代码实现:

    1. function

        推荐阅读

        一文读懂矩阵的秩和行列式的意义

      【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 作为一个工科的学生,我们经久以来会应用比如像是矩阵以及行列式这些在线性代数上的常识,在这篇文┞仿中,我>>>详细阅读


      本文标题:十大经典排序算法的JS版

      地址:http://www.17bianji.com/lsqh/36267.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)