基本算法总结,力扣题目整理
系统性学习算法,扎实您的打码基本功!
作为算法初学者的我从19年8月份开始在力扣学习算法,到现在AC了700多道题目。
随着打卡题目数量的增多,我发现算法常见考察的知识点大概有十几种,包括:二分,滑动窗口,双指针,单调栈(单调队列),链表,二叉树,字符串处理,dfs + 回溯,并查集,动态规划,贪心,位运算,数论(质数、约数、欧拉函数、欧几里得算法、中国剩余定理、简单博弈论等),图论(dfs、bfs、flood fill、拓扑排序、二分染色、最短路、最小生成树等)
系统性地学习算法会有事半功倍的效果,于是我归纳了一些基础算法的知识点,并对力扣上的相关题目进行了整理
访问我的电子书《从零开始学算法》,获取更好的阅读体验
知识点总结
- 《从零开始学算法》
- 力扣题解
- 二分
- 排序算法及应用
- 快速排序
- 归并排序
- 字符串处理
- DFS和回溯
- 单调栈
- 双指针
- 滑动窗口
- 前缀和
- 差分数组
- 链表
- 二叉树
- 二叉树的遍历
- 深度优先–前序遍历
- 深度优先–中序遍历
- 深度优先–后序遍历
- 广度优先遍历
- 二叉搜索树
- 二叉树相关题目
- 字典树
- 贪心
- 区间问题
- 动态规划
- 坐标型动态规划
- 序列型动态规划
- 划分型动态规划
- 区间型动态规划
- 背包型动态规划
- 双序列型动态规划
- 博弈型动态规划
- 位操作型动态规划
- 数位dp
- 状态压缩dp
- 并查集
- 位运算
- 图论
- 树与图的遍历
- 拓扑排序
- 最短路
- 朴素的Dijkstra算法
- 堆优化版的Dijkstra算法
- Bellman-Ford算法
- spfa算法
- Floyd算法
- 二分图
- 最小生成树
- Prim算法
- Kruskal算法
- 数论
- 抽屉原理
进阶算法
- 离散化
- 树状数组
- 线段树
- ST表
基本算法总结,力扣题目整理相关推荐
- 力扣题目——429. N 叉树的层序遍历
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个 N 叉树,返回其节点值的层序遍历.(即从左到右,逐层遍历). 树的 ...
- 力扣题目——637. 二叉树的层平均值
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例: 输入: ...
- 力扣题目——103. 二叉树的锯齿形层序遍历
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行 ...
- 力扣题目——107. 二叉树的层序遍历 II
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根 ...
- C++算法学习(力扣:1544. 整理字符串)
给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s[i] ...
- 力扣题目归类,顺序刷题不再难
目录 介绍 前奏-基础篇 中篇-链表.树的相关操作 进阶-回溯.动态规划 脑筋急转弯 介绍 大家好,相信很多人都知道刷力扣的重要性,但是如果不能将题目很好的归类整理专一练习,而是东做一道西做一道,那么 ...
- C++算法学习(力扣:面试题 16.04. 井字游戏)
设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...
- 【数据结构与算法】力扣实战之移动零、盛最多的水、爬楼梯
练题法则 5-10分钟读题与思考 不要纠结没有思路就直接看题解: 不要死磕觉得自己很失败,怎么我们就想不出来: 基本上这些算法题,让我们自己想出来是不可能的: 拿跳表的来说,如果我们能从0-1把它想出 ...
- C++算法学习(力扣:134. 加油站)
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...
最新文章
- predict_proba is not available when probability=False
- python3.5怎么使用-Python3.5中NumPy模块的使用图文教程
- 微信web开发者工具调试
- 逐一应对 检修三类型视频会议常见问题
- 有感而发 - 日新月异的SAP开发技术
- Html5不可见标签,及标签属性(元素对象属性) a href target name id 相对路径
- ArcGIS客户端开发学习笔记(二)——XML
- 第 8章 面向对象补充和网络编程
- Python+OpenCV:图像轮廓
- 基于jquery的文件上传-uploadify资料收集
- JAVA-初步认识-常用对象API(String类-常见功能-比较)
- 有哪些国外常用的论文网站
- CSDN文章添加版权声明
- 公告栏模板php代码,destoon调用自定义模板及样式的公告栏_PHP教程
- 解决Powershell前面没有base,无法激活虚拟环境问题
- 吴晓波:拼多多的新与旧
- 速度收藏 | 100+大数据开源处理工具汇总
- 汇编语言,大写字母转换为小写
- 原版windows xp下载地址:
- 2021.1.11-1.18 人工智能行业每周技术动态
热门文章
- 玻尔兹曼机、深度信念网络、编码器等生成模型
- 如何在Windows上为代码签名创建自签名证书
- 《自适应机器人交互白皮书》
- 在HarmonyOS中实现基于JS卡片的音乐播放器
- 机器人学导论(一)——空间描述和变换
- AtCoder Beginner Contest 285 青大蒟蒻训练日常(A-F) 上分场(可惜unr)
- BlumNet: Graph Component Detection for Object Skeleton Extraction阅读笔记
- 7種解決方案修復請將磁片插入磁碟機
- LocalDate 获取英文月份
- Cannot resolve method ‘subscribe(anonymous io.reactivex.Observer<xxx>)‘的解决方案