算法题目总结

当前进度:

现在每天都会写一份leetcode的当天签到题题解,每日都会更新。

目前只写了部分的贪心算法,动态规划,模拟,双指针,暴力枚举,栈,BFS,DFS,队列等算法题解,后期有时间的话会在b站上录一期关于算法的视频给大家参考。

引言

  其实出这类博客是我一直想做的事情,之前刷算法都是盲目的刷题,没有建立一个知识体系,碰到题目都是凭感觉来做的。希望这篇博客能够给大家一点帮助,同时也是监督博主每天算法的学习。


1. 模拟

1.1 介绍

        模拟很容易理解,就是题目他怎么说,我怎么做,比如他让我给一个盒子加一滴水,我们就给这个变量加1,这类题目一般在周赛、竞赛的签到题出现,当然我们也不能因此小看这类题目,因为有的题目咱是真的模拟不了一点。

1.2 简单

  • 找到两个数组中的公共元素
  • 下一个更大的数值平衡数

1.3 中等

1.4 困难


2. 动态规划

2.1 介绍

        动态规划简称DP,是一种分而治之的思想。所谓分而治之就是:如果有一个大工程,我们会将它分为很多个小工程,然后逐一解决最后反推合并,将这个大工程完成。

        举个例子,如果我们求1 + 1,很容易得到2;如果求1 + 1 + 1,我们可以用2 + 1 = 3,而不是1+1+1=3这样逐一相加;如果求 1 + 1 + 1 + 1,我们可以用3 + 1 = 4,而不是1+1+1+1=4这样逐一相加,以此类推。动态规划能够将一些问题的子问题状态存储,然后当前状态是基于子状态进行运算。

算法题目总结_第1张图片

2.2 简单

  • 爬楼梯
  • 比特位计数

2.3 中等

  • 消除近似相等字符
  • 跳跃游戏VI

2.4 困难


3. 双指针

3.1 介绍

3.2 简单

  • 字典序最小回文串

4. 滑动窗口

4.1 介绍

4.2 简单

4.3 中等

  • 最多k个重复元素的最长子数组

4.4 困难


5. 暴力枚举

5.1 介绍

5.2 简单

  • 下一个更大的数值平衡数

6. 栈

6.1 介绍

6.4 困难

  • 下一个更大元素IV

7. 链表


8. 队列

中等

  • 魔塔游戏

9. 哈希表

9.1 介绍

哈希表(Hash Table)是一种基于键值对存储数据的数据结构。它的特点是在 O(1) 的时间复杂度内完成查找、插入和删除等操作。在算法练习中,我们通常用哈希表来记录一些数值和它对应的某种数值。比如我们可以求数组中元素出现的数量可以借助它等等,换句话来说哈希表我觉得是利用空间来换取时间,它查找元素的时间复杂度为O(1)。

9.2 简单

  • 找出不同元素数目差数组

9.3 中等

  • 同积元组

10. 广度优先搜索(BFS)

10.1 介绍

BFS算法是我们在学习数据结构中遇到的一个搜索算法。它的核心思想是优先遍历当前结点的所有邻居结点。它通常应用于树结构或者图结构类型的题目。其中对于树结构,它相当于层序遍历,即一层一层的遍历。

举个栗子,小王今年大三了还是个单身狗,于是他决定在操场上偶遇女生,这不,他有了5个心仪的女生并获取到她们的联系方式,但他很纠结不知道追求哪个女生,于是学习了BFS算法的他决定同时追求这5个女生,直到他收到所有女生的回应(同意 或 不同意)。这个就是我对BFS的理解,换句话来说就是广撒网——海王。

10.3 中等

  • 最小体力消耗路径
  • 二叉树的堂兄弟结点II

10.4 困难


11. 深度优先搜索(DFS)

11.1 介绍

对于DFS算法,我觉得有BFS身影的地方肯定有DFS算法。他俩都是搜索算法,只是执行的方式不同,它通常也是应用与树结构或者图结构类型的题目。对于树结构,它也有三个专属的名称(前序遍历、中序遍历、后序遍历)。即一直往下搜索,直到不能遍历位置。

举个例子,还是小王,他前面追求的5个女生发现他同时追求5个女生的事情后骂他渣男(具体例子看BFS介绍),于是小王决定深情一把,他又找到了5个女生的联系方式,这次他决定不撞南墙不回头,他刚开始只追求1号女生,直到1号女生给出回应(同意 或 不同意),得到1号女生回应后他才开始追求2号女生,以此类推。这个是我对DFS的理解,换句话来说就是深情男子。

11.2 简单

  • 二叉树的堂兄弟节点
  • 二叉树的中序遍历
  • 二叉树的前序遍历

11.3 中等

  • 二叉树的堂兄弟结点II
  • 二叉树的最近公共祖先

12. 堆

12.1 介绍

12.2 简单

12.3 中等

  • 执行K次操作后的最大分数

12.4 困难


13. 贪心算法

13.3 中等

  • 石子游戏VI
  • 魔塔游戏

递归

结语

        博主努力更新中。。。

算法题目总结_第2张图片

你可能感兴趣的:(算法解析,算法,学习方法,数据结构,python)