上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 43 下一页
摘要: 动态规划是⼀种常⻅的「算法设计技巧」,并没有什么⾼深莫测,⾄于各种⾼⼤上的术语,那是吓唬别 ⼈⽤的,只要你亲⾃体验⼏把,这些名词的含义其实显⽽易⻅,再简单不过了。 ⾄于为什么最终的解法看起来如此精妙,是因为动态规划遵循⼀套固定的流程:递归的暴⼒解法 -> 带 备忘录的递归解法 -> ⾮递归的动态规划 阅读全文
posted @ 2020-06-02 13:49 又回到了起点 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 我们浏览器的dom就是经典的树结构 这幅图有如下概念: 根节点:一棵树最顶部的节点 内部节点:在它上面还有其它内部节点或者叶节点的节点 叶节点:处于一棵树根部的节点 子树:由树中的内部节点和叶节点组成 <body><div id="app"> <div>123</div> <p>2345<p/> < 阅读全文
posted @ 2020-06-01 10:36 又回到了起点 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 哈希其实就是js⾥的对象,它在实际的键值和存⼊的哈希值之间存在⼀层映射。如下例⼦: class HashTable{ constructor() { this.iems={} } put(key,value){ const hash=this.keyToHash(key) this.items[ha 阅读全文
posted @ 2020-05-29 11:04 又回到了起点 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 其实就是es6的set,特点就是没有重复数据,也可以⽤数组模拟 class Set{ constructor() { this.items={} } has(value){ return this.items.hasOwnProperty(value) } add(value){ if(!this. 阅读全文
posted @ 2020-05-28 11:03 又回到了起点 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 链表 有点像⽕⻋,⻋厢和⻋厢之间链接,有点是可以随时替换⻋厢,react最新架构的fifiber,就是从树变成 了链表,能够让diffff任务随时中断 class Node{ constructor(element){ this.element = element this.next = null 阅读全文
posted @ 2020-05-27 15:40 又回到了起点 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 队列 这个很好理解 先入先出,有点像排队,通过数组push和shift模拟,通常用作任务管理 栈 // 栈class Stack{ constructor() { this.items=[] } push(item){ this.items.push(item) } pop(){ return th 阅读全文
posted @ 2020-05-26 11:10 又回到了起点 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 查找⽐较简单,我们先来看⼀个经典的⼆分查找 有点类似幸运52的猜价格,⽐如让你在1和1000之间猜个数字,挨个猜是很蠢的,要先猜500,如果⼤了,那就是0~500 ,每次问题减半,很快就能查到 function binarySeatch(arr,target) { var low=0, high=a 阅读全文
posted @ 2020-05-25 11:47 又回到了起点 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 爬楼: 有一楼梯共10级,刚开始时你在第一级你,若每次只能跨上一级或2级,要走上第10级,共有多少种走法? 斐波那契数数列 只有两种方式从第9层上一级或者从第8级上2级,9和8又各自有两种情况。 最后推到第三级解题 function stairs(n) { if(n 0) { return 1;} 阅读全文
posted @ 2020-05-22 14:20 又回到了起点 阅读(172) 评论(0) 推荐(0) 编辑
摘要: // 递归Array.prototype.flat=function () { var arr=[]; this.forEach((item,idx)=>{ if(Array.isArray(item)){ arr=arr.concat(item.flat()) }else{ arr.push(it 阅读全文
posted @ 2020-05-21 16:10 又回到了起点 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 在一个有序的数组中,插入新的数据,实现这种的操作就是插入排序 function insertSort(arr) { for(let i=1;i<arr.length;i++){//外循环从1开始,默认arr[0]是有序段 for(let j=i;j>0;j--){ if(arr[j]<arr[j-1 阅读全文
posted @ 2020-05-20 13:34 又回到了起点 阅读(160) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 43 下一页