随笔分类 -  常见算法

摘要:先看一个最简单的累加的递归函数: 1 function sum(n){ 2 if(n <= 1) return 1 3 return n + sum(n - 1) 4 } 5 console.log(sum(100)); // 5050 当传入的参数过大时会导致栈溢出: 即:超过了最大调用堆栈大小 阅读全文
posted @ 2021-01-28 12:01 俄罗斯方块 阅读(678) 评论(0) 推荐(0) 编辑
摘要:1.简单(选择)排序 2.插入排序 3.堆排序 4.归并排序 5.基数排序 6.计数排序 7.快速排序 8.冒泡排序 9.桶排序 10.希尔排序 阅读全文
posted @ 2020-08-16 16:33 俄罗斯方块 阅读(245) 评论(0) 推荐(0) 编辑
摘要:排序思路:从数组中间选一个值,并且移除。创建一个左边和右边的数组,分别用来保存比中间值小和中间值大的数组集合,再用递归分别对左右数组执行操作。 原数组: let arr=[12,45,65,21,47,85,36] 排序方法: function quick(arr) { // 当arr小于等于一项, 阅读全文
posted @ 2020-05-12 21:55 俄罗斯方块 阅读(373) 评论(0) 推荐(0) 编辑
摘要:插入排序的思想:跟斗地主抓牌类似。一张一张的抓,先抓一张,后面再抓的牌和当前手里已经有的牌一张一张进行比较,如果新抓的牌比某张牌大,就用[].splict(开始索引,删除长度,插入元素)方法,在新数组中插入。 原数组: var arr = [6, 5, 4, 3, 2, 1]; 排序函数: func 阅读全文
posted @ 2020-05-12 16:54 俄罗斯方块 阅读(197) 评论(0) 推荐(0) 编辑
摘要:冒泡排序的思想:让数组中的前一项和后一项进行比较,如果当前项比后一项大,则两项交换位置 原数组: var arr = [6, 5, 4, 3, 2, 1]; 冒泡排序函数: function sort1(arr) { for (var k = 0; k < arr.length - 1; k++) 阅读全文
posted @ 2020-05-12 15:45 俄罗斯方块 阅读(193) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示