首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法和数据结构
订阅
soramaster
更多收藏集
10篇文章 · 0订阅
重温前端10大排序算法(长文建议收藏)
通过相邻元素的比较和交换,使得每一趟循环都能找到未有序数组的最大值或最小值。 标记在一轮比较汇总中,如果没有需要交换的数据,说明数组已经有序,可以减少排序循环的次数。 普通的冒泡排序,在一轮循环中只能找到最大值或者最小值的其中一个,双向冒泡排序则是多一轮的筛选,即找出最大值也找…
看动画轻松理解「递归」与「动态规划」
在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以理解的两个抽象知识点。 程序员小吴打算使用动画的形式来帮助理解「递归」,然后通过「递归」的概念延伸至理解「动态规划」算法思想。 先下定义:递…
JavaScript 算法之复杂度分析
新的一年,先给大家整理分享一个简单而又重要的知识点:时间复杂度和空间复杂度。因为在前几篇文章中,提到了时间复杂度,也许有些小伙伴还不清楚。(ps:希望在我上篇文章留言的那位小伙伴别失望哦,慢慢来。) 学习数据结构和算法就是为了解“快”和“省”的问题,也就是如何设计你的代码才能使…
2018汇总数据结构算法篇
2018汇总数据结构算法篇
「中高级前端」窥探数据结构的世界- ES6版
1. 什么是数据结构? 数据结构是在计算机中组织和存储数据的一种特殊方式,使得数据可以高效地被访问和修改。更确切地说,数据结构是数据值的集合,表示数据之间的关系,也包括了作用在数据上的函数或操作。 数据是计算机科学当中最关键的实体,而数据结构则可以将数据以某种组织形式存储,因此…
JavaScript 算法之最好、最坏时间复杂度分析
上一篇--JavaScript 算法之复杂度分析文章中介绍了复杂度的分析,相信小伙伴们对常见代码的时间或者空间复杂度肯定能分析出来了。 接下来,稍微优化下这个 find 函数,如果查找到目标的话,就没必要再往后查找了。 现在代码的时间复杂度还为 O(n)吗?不确定,利用上一章的…
冰与火之歌:「时间」与「空间」复杂度
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比如排序就有前面的十大经典排序和几种奇葩排序,虽然结果相同,但在过程中消耗的资源和时间却会有很大的区别,比如快速排序与猴子排序:)。 主要还是从算法所…
「算法与数据结构」从入门到进阶整理推荐书单
这些书籍通过图片、打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现,但是看过以下这些书对于之后实现算法打下坚实的思维基础。 很适合在闲暇之余拿出来阅读一番。 这不过是一本有趣的算法书而已。和别的算法书比较,如…
在 JavaScript 中学习数据结构与算法
这是一本5万字符(中文约2w)的小书,可能需要几个小时阅读,需要几天或更多时间去消化。部分代码还不能正确地跑起来,有错别字,有不准确的概念...,但这不妨碍它作为你一个野生前端学习数据结构与算法的启蒙文章,期待你的一针见血、刀刀致命😐 对任何专业技术人员来说,理解数据结构都非…
前端递归思想(禁止套娃)
函数调用会使用栈来保存临时变量,而栈的数据结构为先进后出,每调用一个函数,都会将临时变量封装为栈帧压入内存栈,等函数执行完成返回时才出栈。系统栈或者虚拟机栈空间一般都不大。如果递归求解的数据规模很大,调用层次很深,一直压入栈,就会有堆栈溢出的风险。 trampoline 方法中…