首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JavaScript算法
白筱汐
创建于2023-10-24
订阅专栏
JavaScript算法基础
暂无订阅
共15篇文章
创建于2023-10-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
快速排序-javascript、go实现
前言 快速排序,是十大经典排序之一。它的时间复杂度为O(nlogn)。快速排序使用了“分而治之”的思想,使用这种思想的算法有二分查找、归并排序等。
归并排序
介绍 归并排序是十大经典排序算法之一,它基于分治策略和递归思想。归并排序的时间复杂度是 O(nlogn),其中 n 是待排序数组的长度。它具有稳定性和可并行化的特点,适用于各种规模的数据集。
反转字符串(数组)
反转字符串(数组),leetcode 344 简单题目。通过双指针的方式实现数组的反转,遍历n/2次,时间复杂度为O(n)
动态规划(dp)- 爬楼梯
动态规划(Dynamic Programming,简称dp)是一种解决多阶段决策问题的数学算法。它通过将复杂问题分解为更简单的子问题,并利用子问题的解来构建原问题的解。
贪心算法-分发饼干
前言 贪心算法(Greedy Algorithm)是一种常用的优化算法,它在每一步选择中都采取当前状态下最优的选择,以期望达到全局最优解。 分发饼干 leetcode-455 简单题。
图的深度优先遍历(DFS)
前言 图的深度优先遍历(Depth-First Search,DFS))是一种用于遍历图中所有节点的算法。
二叉树的前序、中序、后序遍历
二叉树是一种数据结构,它由一组称为节点的元素组成,每个节点最多可以有两个子节点,分别称为左子节点和右子节点。 深度优先遍历又根据处理某个子树的根结点的顺序不同,可以分为:前序遍历、中序遍历、后序遍历
合并两个有序数组
题目 leetcode 88 简单题,合并两个有序数组解析。通过双指针移动对比大小,最后加入剩余元素到合并数组
二叉树的基本操作
二叉树是一种数据结构,它由一组称为节点的元素组成,这些节点通过边连接。每个节点最多可以有两个子节点,分别称为左子节点和右子节点。 二叉树的主要方法有: 创建、添加节点、查找节点、 删除节点、翻转等
LRU和LFU 缓存淘汰算法(javascript与go语言实现)
介绍 LRU(Least Recently Used)和LFU(Least Frequently Used)是两种常见的缓存淘汰算法
图的广度优先遍历(BFS)
前言 图的广度优先遍历(Breadth-First Search,BFS)是一种用于遍历或搜索图的算法。它从图中的某个节点开始,按照广度优先的顺序逐层遍历图的节点,直到遍历完所有可达节点为止。
树的广度优先与深度优先遍历
BFS 树的广度优先遍历(Breadth-First Search, BFS),树的深度优先遍历(Depth-First Search, DFS)。
动态规划(dp)- 背包问题
背包问题是动态规划经典题,建议先了解dp,学习斐波那契数列的简单动态规划问题,可以查看我以往的文章。
二分查找
前言 二分查找是力扣上的一道简单题,题号704。评论里面有人戏称这题这叫做算法第一题。 也许是因为它是《图解算法》上的第一道题目吧,这本书对于新人确实是比较友好。
迪科斯特拉(Dijkstra)算法
迪科斯特拉(Dijkstra)是一种用于解决图中最短路径问题的算法,迪科斯特拉算法可以应用于带有非负权重的有向图或无向图中