随笔分类 - 算法和数据结构
摘要:二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。算法思想是不断的缩小查找范围。 思路步骤 1️⃣ 确定基准: 选定数组的中间元素(基准值)。 如果数组大小为偶数,通常选择中间的 右侧元素(也可以选择左侧元素,但不影响算法效果)。 2️⃣ 分割数组: 将数组分成两半,基准
阅读全文
摘要://json格式的时间转换为js时间 function convertJsonTime(jsonTimeStr) { var regPattern=/^\/Date\((\d+)\)\/$/ if(regPattern.test(jsonTimeStr)){ var totalMs=RegExp.$
阅读全文
摘要:因为 Math.random() 制造的随机数范围是[0, 1)想要生成16到22之间的随机数(即最小值m=16,最大值n=22),首先需要计算出最大值与最小值的差range=m-n 随后把[0, 1)这个区间的随机数乘以range,区间就拓展到[0, 6)。在此基础之上再加最小值,范围就移动到[1
阅读全文
摘要:带小数点的 var a = 8462948.2453; console.log(a.toLocaleString()) //8,462,948.245 不带小数点的 num.toString().replace(/(\d)(?=(\d{3})+$)/g,'$1,') 满足两者情况的 function
阅读全文
摘要:核心思路(分治思想) 快速排序采用**分治(Divide and Conquer)**的思想,基本步骤如下: 选取基准(Pivot):从数组中选择一个“基准值”。 分区(Partition): 将数组分成两部分:小于基准值的放左边,大于基准值的放右边(可原地交换实现)。 递归排序(Recursion
阅读全文
摘要:深度优先 前序遍历(根-左-右):[a, b, d, g, h, c,e,i,f] 访问根节点 访问当前节点的左子树 若当前节点无左子树,则访问当前节点的右子树 递归版本: function preorderTraversal(root) { if (root null) return; // 访问
阅读全文

浙公网安备 33010602011771号