你好,我是 世奇
,笔名 ConardLi
,欢迎来到 awesome-coding-js
。
写代码 = 数据结构 + 算法 + ...
这里有大量算法和数据结构的JavaScript实现
基于不同的考察纬度,同一题目可能同时出现在不同分类中。
练好数据结构和算法,非一日之功Star
Watch
建议做题之前先阅读我这篇文章:前端该如何准备数据结构和算法,帮助你更高效的学习。
为了更好的阅读体验可以到:https://www.conardli.top 阅读。
⭐ ⭐ :入门⭐ ⭐ ⭐ :进阶
JavaScript专题
- 手动实现call、apply、bind
- EventEmitter
- 防抖
- 节流
- 浅拷贝和深拷贝
- 数组去重、扁平、最值
- 数组乱序-洗牌算法
- 函数柯里化
- 手动实现JSONP
- 模拟实现promise
- 手动实现ES5继承
- 手动实现instanceof
- 基于Promise的ajax封装
- 单例模式
- 异步循环打印
- 图片懒加载
排序
二叉树
- 二叉树-概览
- 二叉树的基本操作⭐⭐
- 二叉树的中序遍历⭐⭐
- 二叉树的前序遍历
⭐ ⭐ - 二叉树的后序遍历
⭐ ⭐ - 重建二叉树
⭐ ⭐ - 求二叉树的遍历
⭐ ⭐ - 对称的二叉树
⭐ ⭐ - 二叉树的镜像
⭐ ⭐ - 二叉搜索树的第k个节点⭐⭐
- 二叉搜索树的后序遍历
⭐ ⭐ - 二叉树的最大深度
⭐ ⭐ - 二叉树的最小深度
⭐ ⭐ - 平衡二叉树⭐⭐
- 不分行从上到下打印二叉树
⭐ ⭐ - 把二叉树打印成多行
⭐ ⭐ - 二叉树中和为某一值的路径
⭐ ⭐ ⭐ - 二叉搜索树与双向链表⭐⭐⭐
- 按之字形顺序打印二叉树
⭐ ⭐ ⭐ - 序列化二叉树
⭐ ⭐ ⭐ - 二叉树的下一个节点⭐⭐⭐
- 树的子结构⭐⭐⭐
链表
- 链表-概览
- 删除链表中的节点or重复的节点
⭐ ⭐ - 从尾到头打印链表
⭐ ⭐ - 链表倒数第k个节点
⭐ ⭐ - 反转链表
⭐ ⭐ - 复杂链表的复制
⭐ ⭐ - 两个链表的第一个公共节点
⭐ ⭐ - 圈圈中最后剩下的数字
⭐ ⭐ - 链表中环的入口节点
⭐ ⭐ ⭐
字符串
栈和队列
数组
- 数组-概览
- 调整数组顺序使奇数位于偶数前面
⭐ ⭐ - 在排序数组中查找数字
⭐ ⭐ - 数组中出现次数超过数组长度一半的数字
⭐ ⭐ - 连续子数组的最大和
⭐ ⭐ - 把数组排成最小的数 ⭐⭐
- 第一个只出现一次的字符
⭐ ⭐ - 扑克牌顺子
⭐ ⭐ - 和为S的两个数字
⭐ ⭐ - 两数之和
⭐ ⭐ - 三数之和
⭐ ⭐ ⭐ - 四数之和
⭐ ⭐ ⭐ - 和为S的连续正整数序列
⭐ ⭐ ⭐ - 构建乘积数组 ⭐⭐⭐
- 顺时针打印矩阵 ⭐⭐⭐
- 数组中的逆序对
⭐ ⭐ ⭐
堆
哈希表
分治
- 数组中的逆序对
⭐ ⭐ ⭐
数学运算
- 二进制中1的个数
⭐ ⭐ - 数值的整数次方⭐⭐
- 数组中只出现一次的数字
⭐ ⭐ - 不用加减乘除做加法
⭐ ⭐ - 字符串转换成整数
⭐ ⭐ - 整数中1出现的次数
⭐ ⭐ ⭐ - 1+2+3+...+n⭐⭐⭐
- 丑数
⭐ ⭐ ⭐
查找
- 查找-概览
- 二维数组查找⭐⭐
- 在排序数组中查找数字⭐⭐
- 整数中1出现的次数⭐⭐
DFS和BFS
递归和循环
回溯算法
动态规划
贪心算法
其他专栏
联系方式
- 微信:ConardLi
- 公众号:code秘密花园
- Github:https://github.com/ConardLi
版权声明
CC-BY-NC-4.0 LICENSE
你可以在非商业的前提下免费转载,但同时你必须:明确署名作者:ConardLi
以及文章的原始链接。