| 其实算法方面在前端的实际项目中涉及得并不多,但还是需要精通一些基础性的算法,一些公司还是会有这方面的需求和考核,建议大家还是需要稍微准备下,这属于加分题。 1. 五大算法
    贪心算法: 局部最优解法分治算法: 分成多个小模块,与原问题性质相同动态规划: 每个状态都是过去历史的一个总结回溯法: 发现原先选择不优时,退回重新选择分支限界法 2. 基础排序算法function bubleSort(arr) {         var len = arr.length;         for (let outer = len ; outer >= 2; outer--) {             for(let inner = 0; inner <=outer - 1; inner++) {                 if(arr[inner] > arr[inner + 1]) {                     [arr[inner],arr[inner+1]] = [arr[inner+1],arr[inner]]                 }             }         }         return arr;     } 
 
    选择排序: 遍历自身以后的元素,最小的元素跟自己调换位置 function selectSort(arr) {     var len = arr.length;     for(let i = 0 ;i < len - 1; i++) {         for(let j = i ; j<len; j++) {             if(arr[j] < arr[i]) {                 [arr[i],arr[j]] = [arr[j],arr[i]];             }         }     }     return arr } 
 function insertSort(arr) {     for(let i = 1; i < arr.length; i++) {  //外循环从1开始,默认arr[0]是有序段         for(let j = i; j > 0; j--) {  //j = i,将arr[j]依次插入有序段中             if(arr[j] < arr[j-1]) {                 [arr[j],arr[j-1]] = [arr[j-1],arr[j]];             } else {                 break;             }         }     }     return arr; } 
 3. 高级排序算法 |