随笔分类 -  数据结构与算法

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