首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
啥瓜子
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
在 JavaScript 中学习数据结构与算法
这是一本5万字符(中文约2w)的小书,可能需要几个小时阅读,需要几天或更多时间去消化。部分代码还不能正确地跑起来,有错别字,有不准确的概念...,但这不妨碍它作为你一个野生前端学习数据结构与算法的启蒙文章,期待你的一针见血、刀刀致命😐 对任何专业技术人员来说,理解数据结构都非…
手写算法并记住它:基数排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如基数排序,就是按照数字的“位”来排序。 位,是进位的位,比如十进制数的基数是10,就可以按照个十百千万等位来排序。 上图演示了基数排序算法的总体流程。先按个位从小到大排序,然后再按十位、百位排…
手写算法并记住它:计数排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如计数排序,所谓“计数”,就是数一数,统计每个元素重复出现的次数。 上图演示了该算法的总体流程。分为两步:查和排。 首先查一查每个元素都出现了多少次,比如元素0出现了1一次,元素1出现了一次,元…
手写算法并记住它:选择排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如选择排序,所谓“选择”,就是每次遍历时,选择一个最小的交换到已排好序列的后面。 上图演示了第三次遍历,此时元素1和2已经排好序,再在剩下的元素中找到最小的元素3,然后与目标位置交换。 这一点难…
前端算法收集库
1. 前言 这是一个常见的js算法面试题收集库,包含测试,欢迎star,如果库中没有的算法,欢迎提issue或者PR,补全。 提到算法,这里就要说下时间复杂度。 时间复杂度:算法的时间复杂度是一个函数,描述了算法的运行时间。时间复杂度越低,效率越高。 2. 关于代码规范 3. …
手写算法并记住它:桶排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如桶排序,一提起“桶”,我就想到了垃圾分类。 桶排序就是先分类,即把数据放进相应的桶里,然后对每个桶进行局部排序,最后再把桶合并一下就行了。 上图演示了该算法的总体流程。分为三步,分类,排序和合…
手写算法并记住它:快速排序(最易理解版)
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如快速排序,一个快字就能体现出其价值,因而它是用得最多的。 因为它相对难一些,本系列将分两篇文章讲解它。 上一篇是5行代码实现版本。而本篇是原地排序算法。 快速排序这个名字是针对其性能来起的,但…
手写算法并记住它:快速排序(5行代码简单版)
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如快速排序,一个快字就能体现出其价值,因而它是用得最多的。 因为它相对难一些,本系列将分两篇文章讲解它。 本篇是一种简单实现版本,与归并排序做对比,摸清快排的总体思路。下一篇才是常见于各教程中的…
手写算法并记住它:归并排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如归并排序,“归并”二字就是“递归”加“合并”。它是典型的分而治之算法。 上图中,先把数组一分为二,然后递归地排序好每部分,最后合并。 解决办法很容易想到,两权相较取其轻。 如上图所示,每次比较…
手写算法并记住它:插入排序
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如插入排序,所谓“插入”,实指把待排序元素插入到已排好的序列里。 上图演示了第4次遍历,此时元素1、3、5已经是有序序列,待排的元素是2,要把它插入到1和3之间。此时3和5都往后移动了一位。 思…