随笔分类 - 数据结构与算法
摘要:概念步骤: 分是递归,时间复杂度是 logN(分是logN) 最终:O^n * logN
阅读全文
摘要:分而治之:将一个问题,分成多个和原问题相似的小问题。递归解决小问题,再将结果合并,解决最终原问题。 场景一:归并排序 分:将数组 一分为二 解:递归的对两个子数组进行归并排序 合:合并有序子数组 场景二:快速排序 分:选基准,按基准把数组分成两个子数组 解:递归的对两个子数组进行快速排序 合:对两个
阅读全文
摘要:排序:把无序的数组,变成升序 或者 降序。sort 底层算法: 冒泡排序:最简单的,性能并不好,少用 选择排序:
阅读全文
摘要:概念: 图是 网络结构 的抽象模型,是一组由边连接的节点。 图可以表示任务二元关系,比如道路,航班。 表示方式: 邻接表: 邻接矩阵(二维数组) 深度广度优先遍历:
阅读全文
摘要:举例:省市区级联。 1,深度优先遍历:一层往死里遍历。 //深度优先遍历:递归 function deefFor(tree) { console.log('深度', tree.val) tree.children.forEach(deefFor) //for接收一个回调函数,参数默认是item。 }
阅读全文
摘要:集合 ES6 Set: 无序且唯一。与数组的区别,无序可重复。 leetcode:349. var arr = [1, 2, 2, 3] const set = new Set(arr) // 去重 const newArr = [...set] set.add('add data'); set.d
阅读全文
摘要:1,概念:时间复杂度: O(1) < O(log2n)< O(n) < O(n^2) . O(1) + O(n) = O(n) 空间复杂度,占用存储空间大小的度量: O(1) < O(n) < O(n^2) 利用数据结构本身提供的方法,解决业务问题。不同数据结构适用场景不同 2,栈 概念: 后进先出
阅读全文
浙公网安备 33010602011771号