- 博客(9)
- 收藏
- 关注
原创 js 经典算法案例分析
回溯算法通过尝试所有可能的候选解,并在搜索过程中不断地深入候选解空间,直到找到一个满足条件的解或者搜索完整个空间后未找到满足条件的解为止。贪心策略是:在每一步选择中,都选择能获得正收益的操作,即当天的价格比前一天的价格高时,就进行买入卖出操作,及这就是这个数组的最大利润。贪心算法:是一种在每一步选择中都采取在当前状态下最好或最优(即局部最优解)的选择,从而希望最终能够达到全局最优解的算法。动态规划是解决问题的一种算法思想,它将原问题分解成若干个子问题,通过求解子问题的最优解来求解原问题的最优解,
2024-04-15 01:19:05
291
1
原创 JS版数据结构
1.完全二叉树结构:二叉堆是一种完全二叉树,意味着除了最底层节点可能不是满的,其他层都是满的,并且最底层的节点都尽可能地靠左排列。2.父子节点之间的关系:在最大堆中,父节点的值总是大于或等于其子节点的值;在最小堆中,父节点的值总是小于或等于其子节点的值。4.删除操作:通常删除堆顶元素,然后将最后一个元素移动到堆顶,并通过“下沉”操作将其调整到合适的位置,以满足堆的性质。3.插入操作:新元素通常被添加到二叉堆的末尾,然后通过“上浮”操作将其调整到合适的位置,以满足堆的性质。
2024-04-10 13:24:34
1250
1
原创 原型与原型链
任何不是箭头函数的函数都可以作为构造函数,当函数通过new关键字调用的时候,我们就称之构造函数在这里插入代码片//定义一个函数,现在只是一个普通函数,不能称为构造函数//当它通过new关键字调用了,她现在就可以称为构造函数,Class就是通过Parent构造函数生成的一个实例。
2024-03-22 22:35:05
236
1
原创 迭代器,生成器,可迭代协议和迭代器协议
可迭代协议(Iterable Protocol)和迭代器协议(Iterator Protocol)是 ES6 中引入的两种重要协议,用于支持 JavaScript 中的迭代操作。可迭代协议可迭代协议定义了一个名为 Symbol.iterator 的方法,该方法返回一个迭代器对象。任何具有 Symbol.iterator 方法的对象都被视为“可迭代的”,也就是说它可以被用于 for…of 循环或者通过扩展运算符(…)进行展开操作。let i = 0;
2024-03-22 18:24:35
167
1
原创 时间、空间复杂度
1、我们在写代码时,完全可以用空间来换取时间,比如字典树、哈希等都是这个原理。HashMap.get()、put()都是O(1)的时间复杂度。空间复杂度为O(1):有的算法只需要占用少量的临时工作单元,而且不随问题规模的大小而改变,我们称这种算法是“就地”执行的,是节省存储的算法,空间复杂度为O(1)。空间复杂度为O(n):有的算法需要占用的临时工作单元与解决问题的规模n有关,它随着n的增大而增大,当n较大时,将占用较多的存储单元,例如快速排序和归并排序算法就属于这种情况。
2024-03-20 22:35:46
769
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人