首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
JavaScript数据结构与算法
搞定
创建于2021-10-24
订阅专栏
学习了lewis老师的课程 在这里梳理、总结、分享 希望和各位大佬一起交流与学习
暂无订阅
共15篇文章
创建于2021-10-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
(十五)算法设计思想之“回溯算法”
@TOC 回溯算法是什么? 回溯算法是算法设计中的一种方法 回溯算法是一种渐进式寻找并构建问题解决方式的策略 回溯算法会先从一个可能的动作开始解决问题,如果不行,就回溯并选择另一个动作,直到问题解决
(十四)算法设计思想之“贪心算法”
@TOC 贪心算法是什么 贪心算法是算法设计中的一种方法 期盼通过每个阶段的局部最优选择,从而达到全局的最优 结果并不一定是最优 LeetCode:455.分饼干 解题思路 局部最优:既能满足孩子,还
(十三)算法设计思想之“动态规划”
@TOC 动态规划是什么? 动态规划是算法设计中的一种方法 它将一个问题分解为相互重叠的子问题,通过反复求解子问题,来解决原来的问题 最大区别在于子问题是否独立,子问题相互重叠是动态规划,子问题独立就
(十二)算法设计思想之“分而治之”
@TOC 分而治之是是什么 分而治之是算法设计中的一种方法 它将一个问题分成多个和原问题相似的小问题,递归解决小问题,再将结果合并以解决原来的问题 应用场景:归并排序、快速排序、二分搜索、翻转二叉树.
(十一)进阶算法之“搜索排序”
@TOC 排序和搜索简介 排序和搜索是什么? 排序:把某个乱序的数组变成升序或者降序的数组 搜索:找出数组中某个元素的下标 JS中的排序和搜索 JS中的排序:数组的sort方法 JS中的搜索:数组的i
(十)数据结构之“堆”
@TOC 堆是什么? 堆是一种特殊的完全二叉树 所有的节点都大于等于(最大堆)或小于等于(最小堆)它的子节点 JS中的堆 JS中通常用数组表示堆 左侧子节点的位置是2 * index + 1 右侧子节
(九)数据结构之“图”
@TOC 图是什么 图是网络结构的抽象模型,是一组由边连接的节点 图可以表示任何二元关系,比如道路、航班..... . JS中没有图,但是可以用Object和Array构建图 图的表示法:邻接矩阵、邻
(八)数据结构之“树”
@TOC 树是什么? 一种分层数据的抽象模型。 前端工作中常见的树包括:DOM树、级联选择、树形控件...... JS中没有树,但是可以用Object和Array构建树 树的常用操作:深度/广度优先遍
(七)数据结构之“字典”
@TOC 字典是什么? 与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储 ES6中有字典,名为Map 字典的常用操作:键值对的增删改查 LeetCode:349.两个数组的交集
(六)数据结构之“集合”
@TOC 集合是什么? 一种无序且唯一的数据结构 ES6中有集合,名为Set 集合的常用操作:去重、判断某元素是否在集合中、求交集 LeetCode:349.两个数组的交集 输出:[2] 解题思路 求
(五)数据结构之“链表”
@TOC 链表是什么? 多个元素组成的列表 元素存储不连续,用next指针连在一起 数组 vs 链表 数组:增删非首尾元素是往往需要移动元素 链表:增删非首尾元素,不需要移动元素,只需要更改next的
(四)数据结构之“队列”
@TOC 队列是什么? 一个先进先出的数据结构 JavaScript中没有队列,但可以用Array实现队列的所有功能 队列的应用场景 需要先进先出的场景 比如:食堂排队打饭、JS异步中的任务队列、计算
(三)数据结构之“栈”
@TOC 栈是什么 一个后进先出的数据结构 JavaScript中没有栈,但可以用Array实现栈的所有功能 栈的应用场景 需要后进先出的场景 比如:十进制转二进制、判断字符串的括号是否有效、函数调用
(二) 时间/空间复杂度计算
@TOC 时间复杂度是什么? 一个函数,用大O表示,比如O(1)、O(n)、O(logN)...... 定性(大概)描述该算法的运行时间 O(1) 执行了一次 O(n) 执行了n次 O(1)+O(n)
(一)数据结构与算法简介
@TOC 目标 掌握数据结构与算法的理论知识 补齐算法短板 梳理前端与算法结合点,不再纸上谈兵,将算法用于实战 三部曲 理论:数据结构与算法的特点、应用场景等等 刷题:做一些算法题,推荐使用LeetC