
前端算法学习专栏
文章平均质量分 86
欢迎来到前端开发者的算法技巧学习专栏!算法是前端开发中的重要技能,它不仅可以优化代码性能,还能提高问题解决能力。本专栏将重点介绍前端开发者应该掌握的算法技巧,包括常用数据结构、算法思想和实际应用场景。
@PHARAOH
努力输出系统性的WEB开发入门文章和成长感悟...觉得文章不错有收获的话,打赏激励一下博主吧。提供就业咨询服务!
展开
-
WHAT - 算法复杂度分析系列(一)
算法复杂度描述了算法`执行时间`或`空间资源消耗`随`输入规模`增长而变化的情况。常见的算法复杂度包括时间复杂度和空间复杂度。本文将介绍什么是大O、时间复杂度、空间复杂度、算法超时、1秒计算机执行次数实验等维度来阐述。原创 2024-03-31 14:43:10 · 821 阅读 · 0 评论 -
WHAT - 贪心场景和算法实现
贪心算法(Greedy Algorithm)是一种解决优化问题的简单且直观的算法策略。它在每个决策步骤中选择当前最佳选项,希望这样的局部最优选择能够导致全局最优解。贪心算法的特征和应用场景如下:局部最优选择:在每个决策阶段,贪心算法都会做出当前看起来最优的选择,而不考虑前后步骤的影响。简单直观:贪心算法通常易于理解和实现。相对于其他复杂的算法策略,贪心算法的思路更加直接。无回溯:贪心算法在每个决策阶段都会做出不可逆的选择,不会回溯以寻找其他可能的解决方案。原创 2024-07-21 15:55:01 · 979 阅读 · 0 评论 -
HOW - 链表系列(一)
我们将通过一些经典场景来学习和掌握链表相关操作。原创 2024-06-17 17:38:36 · 1293 阅读 · 1 评论 -
WHAT - 常见算法实现
常见算法实现原创 2024-06-11 11:09:17 · 311 阅读 · 0 评论 -
WHAT - 常见排序分析和实现
经常听到三大查找八大排序。三大查找算法是指线性查找、二分查找和哈希查找。八大排序算法包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序和计数排序。这一篇主要是介绍常见排序分析和实现。原创 2024-04-14 14:51:30 · 145 阅读 · 0 评论 -
WHAT - 算法复杂度分析系列(二)
递归算法的时间复杂度可以通过递归深度和每层递归的计算复杂度来计算。具体的计算方法取决于算法的实现细节和问题的特性。**一般情况下,递归算法的时间复杂度可以表示为递归深度乘以每层递归的计算复杂度**。如果每层递归的计算复杂度不同,那么需要对每层递归的计算复杂度进行求和。原创 2024-03-31 16:47:15 · 668 阅读 · 0 评论 -
HOW - 快速排序实现
如何实现一个快速排序?原创 2024-03-28 21:03:23 · 132 阅读 · 0 评论 -
HOW - 单调栈系列(含接雨水)
通过几个算法的学习,理解和掌握单调栈。单调栈(Monotonic Stack)是一种特殊的栈数据结构,它具有以下特点:单调递增栈(单调递减栈):栈中元素保持单调递增(或单调递减)的顺序。也就是说,栈底到栈顶的元素是递增(或递减)排列的。注意,定义是栈底到栈顶。原创 2024-03-30 15:18:18 · 1476 阅读 · 0 评论 -
HOW - 栈系列
通过几个算法的学习,理解和掌握栈。"栈"(Stack)是计算机科学中一种常见的数据结构,它是一种具有特定限制的线性数据结构。栈遵循后进先出(Last In, First Out,LIFO)的原则,即最后入栈的元素最先被弹出。原创 2024-03-30 13:24:38 · 756 阅读 · 0 评论 -
HOW - 大数相加如何避免溢出
JavaScript 使用 IEEE 754 浮点数标准来表示和处理浮点数。IEEE 754 定义了两种浮点数表示形式:单精度浮点数(32 位)和双精度浮点数(64 位)。在 JavaScript 中,所有数字都被存储为双精度浮点数。那两个大整数或者两个大浮点数相加超出范围会发生什么?如何避免?原创 2024-04-01 22:51:57 · 1093 阅读 · 0 评论 -
HOW - 统计页面元素以及排序(含前K个高频元素算法实现)
有时候我们需要统计页面元素以及排序,理论上可以用快速排序对所有元素进行排序,那还有更好的视线方案吗?这个场景跟获取前K个高频元素有什么相似性,可以利用优先级队列和堆来得到一个更优解吗?原创 2024-04-01 17:25:09 · 796 阅读 · 0 评论