随笔分类 -  算法

摘要:我直呼大佬nb!! https://www.cnblogs.com/xuehuashanghe/p/10102292.html 阅读全文
posted @ 2022-06-16 11:19 前端路远且长 阅读(76) 评论(0) 推荐(0) 编辑
摘要:回溯算法是什么 *回溯算法是算法设计中的一种 *回溯算法是一种渐进式寻找并构建问题解决方式的策略 *回溯算法会先从一个可能的动作开始解决问题,如果不行,就回溯并选择另一个动作,直到将问题解决 什么问题适合用回溯算法解决 *有很多路 *这些路里有死路也有活路 *通常需要递归来模拟所有的路 阅读全文
posted @ 2022-05-30 20:13 前端路远且长 阅读(44) 评论(0) 推荐(0) 编辑
摘要:*贪心算法是算法设计中的一种方法 *期盼通过每个阶段的局部最优选择,从而达到全局的最优 *结果并不一定是最优 阅读全文
posted @ 2022-05-25 20:12 前端路远且长 阅读(17) 评论(0) 推荐(0) 编辑
摘要:*动态规划是算法设计中的一种方法 *它将一个问题分解为互为重叠的子问题,通过反复求解子问题,来解决原来的问题(能从底层开始解决问题,用同样的方法一直解决到顶层,规律题) 分而治之是独立的子问题 动态规划步骤 +定义子问题 +反复执行 阅读全文
posted @ 2022-05-24 19:16 前端路远且长 阅读(35) 评论(0) 推荐(0) 编辑
摘要:分而治之是什么? *分而治之是算法设计中的一种方法 *它将问题分成多个和原问题相似的小问题,递归解决小问题,再将结果合并解决原来的问题 分,递归,合并 (从使用情况来看都是从顶层开始找到解决办法,然后往下套用) 归并排序 *分:吧数组从中间一分二 *解:递归地对两个子数组进行归并排序 *合,合并为有 阅读全文
posted @ 2022-05-13 19:20 前端路远且长 阅读(106) 评论(0) 推荐(0) 编辑
摘要:搜索:找出数组某个元素的下标 js:IndexOf 顺序搜索 *遍历数组 *找到跟目标值相等的元素,就返回它的下标 *遍历结束后,如果没有搜索到目标值,就返回-1 时间复杂度 *遍历数组是一个循环 *时间复杂度:O(n) Array.prototype.sequentialSearch=functi 阅读全文
posted @ 2022-05-11 19:32 前端路远且长 阅读(15) 评论(0) 推荐(0) 编辑
摘要:https://visualgo.net/zh 排序:把某个乱序的数组变成升序或者降序的数组 js:sort 冒泡排序 *比较所有相邻元素,如果第一个比第二个大 ,则交换它们 *一轮下来。就可以保证最后一个数是最大的 *执行n-1轮,就可以完成排序 时间复杂度 *两个嵌套循环 *时间复杂度O(n^2 阅读全文
posted @ 2022-05-09 20:24 前端路远且长 阅读(27) 评论(0) 推荐(0) 编辑
摘要:堆是什么 *堆是一种特殊的完全二叉树(每层都完全填慢,只有右边没填慢) *所有的节点都大于等于(最大堆)或小于等于(最小堆)它的子节点 js中的堆 *js中通常用数组表示堆(index指的是元素在数组中的位置) *左侧子节点的位置是2*index+1 *右侧子节点的位置是2*index+2 *父节点 阅读全文
posted @ 2022-04-28 20:30 前端路远且长 阅读(52) 评论(0) 推荐(0) 编辑
摘要:/** * 作者:雨山没睡饱 链接:https://juejin.cn/post/6919752747671617550 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 */ const getStandarInterval = (t) => { if (t < 阅读全文
posted @ 2022-04-22 13:56 前端路远且长 阅读(155) 评论(0) 推荐(0) 编辑
摘要:图是什么 *图是网络结构的抽象模型,是一组由边连接的节点 *图可以表示任何二元关系,比如道路,航班...... *js中没有图,但是可以用Object和Array构建图 *图的表示法:邻接矩阵,邻接表,关联矩阵.... 只要相邻,就在行上和相应的列为1,表示相邻 a能连接到b所以a里有b 图的常用操 阅读全文
posted @ 2022-04-19 20:58 前端路远且长 阅读(85) 评论(0) 推荐(0) 编辑
摘要:树是什么 *一种分层数据的抽象模型 *前端工作中常见的树包括:DOM树、级联选择、树形控件.... *js中没有树,但是可以用Object和Array构建树 *树的常用操作:深度/广度优先遍历、先中后序遍历 什么是深度/广度优先遍历 *深度优先遍历:进可能深的搜索树的分支 *广度优先遍历:先访问离根 阅读全文
posted @ 2022-04-13 20:47 前端路远且长 阅读(18) 评论(0) 推荐(0) 编辑
摘要:字典是什么 *与集合类似,字典也是一种存储唯一值的数据结构,但他是以键值对的形式来存储 *es6中有字典,名为Map(映射) *字典的常用操作:键值对的增删改查 技术要点 *与集合类似,字典也是一种存储唯一值的数据结构,但他是以键值对的形式来存储 *es6中有字典,名为Map(映射) *字典的常用操 阅读全文
posted @ 2022-04-11 20:32 前端路远且长 阅读(46) 评论(0) 推荐(0) 编辑
摘要:集合是什么 + 一直无序且唯一的数据结构 + ES6中有集合,名为Set + 集合的常用操作:去重、判断莫元素是否在集合中、求交集... //去重 const arr=[1,1,2,2] const arr2=[...new Set(arr)] //判断元素是否在集合中 const set=new 阅读全文
posted @ 2022-04-08 20:10 前端路远且长 阅读(35) 评论(0) 推荐(0) 编辑
摘要:应用场景:需要先进后出 比如:十进制转二进制、判断字符串的括号是否有效、函数调用堆栈 判断字符串的括号是否有效 ((()) -va (((()())) -inva *越靠后的左括号,对应的右括号越靠前 *左括号入栈,右括号出栈,最后栈空了就合法 函数调用堆栈 *最后调用的函数,最先执行完。 *js解 阅读全文
posted @ 2022-04-08 16:52 前端路远且长 阅读(26) 评论(0) 推荐(0) 编辑
摘要:指针指向,js中的obj的存储方式就是这种类似的指向地址。 const a = {val: 'a'} const b = {val: 'b'} const c = {val: 'c'} const d = {val: 'd'} //Obj模拟链表 a.next=b b.next=c c.next=d 阅读全文
posted @ 2022-04-06 20:25 前端路远且长 阅读(51) 评论(0) 推荐(0) 编辑
摘要:队列的应用场景 *需要先进先出的场景 *比如:食堂排队打饭,js异步中的任务队列,计算最近请求次数 *先进先出,保证有序 技术要点 队列是一个先进先出的数据结构 js中没有队列,可以用Array实现队列的功能 队列的常用操作,:push、shift、queue[0] 阅读全文
posted @ 2022-03-31 20:33 前端路远且长 阅读(41) 评论(0) 推荐(0) 编辑
摘要:重点关注 1,数据结构与算法的特点 2,应用场景 3,js实现 4,时间/空间复杂度 刷题 1,LeetCode 2,按类型刷题,相当于集中训练 3,重点关注:通用套路,时间/空间复杂度分析和优化 技术要点 栈是一个后进先出的数据结构 js中没有栈,但可以用Array实现栈的所有功能 栈的常用操作: 阅读全文
posted @ 2022-03-25 19:16 前端路远且长 阅读(31) 评论(0) 推荐(0) 编辑

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