算法
来源:互联网 发布:vscode选中单词 编辑:程序博客网 时间:2024/06/18 10:12
算法在鄙人目前的工作中用得很少,但闲暇之余逛知乎,走简书,许多大神无不强调着算法的重要性!算法考量了程序员的基础、思维能力以及内功的深厚程度。
于是,便花时间学习总结了一些常见的算法:
// 冒泡算法 var arr = [2,15,21,4,121,1410,12,45,1001,178,1216874,1546874,1245]; function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 1; j < len; j++) { if (arr[j] > arr[j+1]) { //相邻元素两两对比 var temp = arr[j]; //元素交换 arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr; } console.log(bubbleSort(arr));
// 元素交换 function swap (a,b) { b = b - a; a = b + a; b = a - b; return [a,b] } console.log(swap(1,2));
//快速排序var arr = [2,15,21,4,121,1410,12,45,1001,178,1216874,1546874,1245]; function quickSort (arr) { console.time(); if(arr.length <=1 ){ return arr; } var leftArr = [],rightArr = []; var q= arr[0]; for(var i = 1 ; i<arr.length;i++){ if (arr[i] > q) { rightArr.push(arr[i]); } else { leftArr.push(arr[i]); } } console.timeEnd(); return [].concat(quickSort(leftArr),[q],quickSort(rightArr)); } console.log(quickSort(arr));
// 字符串出现最多的字符和出现次数 var str = "nninihao"; var o = {}; for(var i = 0 ; i<str.length;i++){ var _char = str.charAt(i); console.log(_char);//ninihao if(o[_char]) { o[_char]++; } else { o[_char] = 1; } } console.log(o); //{n: 3, i: 2, h: 1, a: 1, o: 1} var max = 0; for( var key in o) { if(o[key] > max) { console.log(key); // n console.log(o[key]); // 3 max = o[key]; //始终令max保持最大值 } } for( var key in o ) { if(o[key] == max) { //当出现次数等于最大值时输出 console.log("最多的字符是" + key); console.log("出现的次数是" + max); } }
//查找某个字符串出现的位置 var arr = "aabfcsdfks"; var index = -1; do{ console.log(index);//-1 3 7 index = arr.indexOf("f", index+1); console.log(index);//3 7 -1 if (index != -1) { //字符串没有出现,返回-1 console.log(index);//3 7 }; } while(index != -1);
持续更新中..
阅读全文
1 0
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 线性代数(一):奇异值分解
- 十分钟学会使用贝塞尔弧线
- JSTL、EL、ONGL、Struts标签的区别与使用
- 读取properties文件工具类
- 第二周项目三-体验复杂度
- 算法
- java 使用类动态加载 实现模块化
- EJB项目启动报"javax.xml.ws.WebServiceException:Cannot find service endpoint target:"
- Mysql主从配置
- hadoop集群安装教程
- JVM包含的几个分区
- Lost connection to MySQL server at 'reading initial communication packet' 错误解决
- 代码评审code review
- echo print printr 运用解题