系统性学习算法,扎实您的打码基本功!

作为算法初学者的我从19年8月份开始在力扣学习算法,到现在AC了700多道题目。

随着打卡题目数量的增多,我发现算法常见考察的知识点大概有十几种,包括:二分,滑动窗口,双指针,单调栈(单调队列),链表,二叉树,字符串处理,dfs + 回溯,并查集,动态规划,贪心,位运算,数论(质数、约数、欧拉函数、欧几里得算法、中国剩余定理、简单博弈论等),图论(dfs、bfs、flood fill、拓扑排序、二分染色、最短路、最小生成树等)

系统性地学习算法会有事半功倍的效果,于是我归纳了一些基础算法的知识点,并对力扣上的相关题目进行了整理

访问我的电子书《从零开始学算法》,获取更好的阅读体验

知识点总结

  • 《从零开始学算法》
  • 力扣题解
  • 二分
  • 排序算法及应用
    • 快速排序
    • 归并排序
  • 字符串处理
  • DFS和回溯
  • 单调栈
  • 双指针
  • 滑动窗口
  • 前缀和
  • 差分数组
  • 链表
  • 二叉树
    • 二叉树的遍历
    • 深度优先–前序遍历
    • 深度优先–中序遍历
    • 深度优先–后序遍历
    • 广度优先遍历
    • 二叉搜索树
    • 二叉树相关题目
  • 字典树
  • 贪心
    • 区间问题
  • 动态规划
    • 坐标型动态规划
    • 序列型动态规划
    • 划分型动态规划
    • 区间型动态规划
    • 背包型动态规划
    • 双序列型动态规划
    • 博弈型动态规划
    • 位操作型动态规划
    • 数位dp
    • 状态压缩dp
  • 并查集
  • 位运算
  • 图论
    • 树与图的遍历
    • 拓扑排序
    • 最短路
      • 朴素的Dijkstra算法
      • 堆优化版的Dijkstra算法
      • Bellman-Ford算法
      • spfa算法
      • Floyd算法
    • 二分图
    • 最小生成树
      • Prim算法
      • Kruskal算法
  • 数论
    • 抽屉原理

进阶算法

  • 离散化
  • 树状数组
  • 线段树
  • ST表

基本算法总结,力扣题目整理相关推荐

  1. 力扣题目——429. N 叉树的层序遍历

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个 N 叉树,返回其节点值的层序遍历.(即从左到右,逐层遍历). 树的 ...

  2. 力扣题目——637. 二叉树的层平均值

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例: 输入: ...

  3. 力扣题目——103. 二叉树的锯齿形层序遍历

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行 ...

  4. 力扣题目——107. 二叉树的层序遍历 II

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根 ...

  5. C++算法学习(力扣:1544. 整理字符串)

    给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s[i] ...

  6. 力扣题目归类,顺序刷题不再难

    目录 介绍 前奏-基础篇 中篇-链表.树的相关操作 进阶-回溯.动态规划 脑筋急转弯 介绍 大家好,相信很多人都知道刷力扣的重要性,但是如果不能将题目很好的归类整理专一练习,而是东做一道西做一道,那么 ...

  7. C++算法学习(力扣:面试题 16.04. 井字游戏)

    设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...

  8. 【数据结构与算法】力扣实战之移动零、盛最多的水、爬楼梯

    练题法则 5-10分钟读题与思考 不要纠结没有思路就直接看题解: 不要死磕觉得自己很失败,怎么我们就想不出来: 基本上这些算法题,让我们自己想出来是不可能的: 拿跳表的来说,如果我们能从0-1把它想出 ...

  9. C++算法学习(力扣:134. 加油站)

    在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...

最新文章

  1. predict_proba is not available when probability=False
  2. python3.5怎么使用-Python3.5中NumPy模块的使用图文教程
  3. 微信web开发者工具调试
  4. 逐一应对 检修三类型视频会议常见问题
  5. 有感而发 - 日新月异的SAP开发技术
  6. Html5不可见标签,及标签属性(元素对象属性) a href target name id 相对路径
  7. ArcGIS客户端开发学习笔记(二)——XML
  8. 第 8章 面向对象补充和网络编程
  9. Python+OpenCV:图像轮廓
  10. 基于jquery的文件上传-uploadify资料收集
  11. JAVA-初步认识-常用对象API(String类-常见功能-比较)
  12. 有哪些国外常用的论文网站
  13. CSDN文章添加版权声明
  14. 公告栏模板php代码,destoon调用自定义模板及样式的公告栏_PHP教程
  15. 解决Powershell前面没有base,无法激活虚拟环境问题
  16. 吴晓波:拼多多的新与旧
  17. 速度收藏 | 100+大数据开源处理工具汇总
  18. 汇编语言,大写字母转换为小写
  19. 原版windows xp下载地址:
  20. 2021.1.11-1.18 人工智能行业每周技术动态

热门文章

  1. 玻尔兹曼机、深度信念网络、编码器等生成模型
  2. 如何在Windows上为代码签名创建自签名证书
  3. 《自适应机器人交互白皮书》
  4. 在HarmonyOS中实现基于JS卡片的音乐播放器
  5. 机器人学导论(一)——空间描述和变换
  6. AtCoder Beginner Contest 285 青大蒟蒻训练日常(A-F) 上分场(可惜unr)
  7. BlumNet: Graph Component Detection for Object Skeleton Extraction阅读笔记
  8. 7種解決方案修復請將磁片插入磁碟機
  9. LocalDate 获取英文月份
  10. Cannot resolve method ‘subscribe(anonymous io.reactivex.Observer<xxx>)‘的解决方案