极客时间_算法训练营(代码实现汇总)

I really wanna stop,but I just gotta taste for it.

对极客大学算法训练营的题目做一个分类,方便后续查看。

在这里插入图片描述

第01课丨数据结构与算法总览

1). 数据结构脑图

数据结构和算法脑图

2). 自己画的脑图:(感觉有些凌乱,之后会逐步进行补充,完善,整理)

链接:数据结构和算法脑图.note

3). 其中的一些分支,之前有画一些小型分类的脑图:

数据结构基础脑图:数据结构基础脑图.note

树 的 脑图:树的脑图.note

排序算法脑图:排序算法脑图.note

第02课丨训练准备和复杂度分析

如何理解算法时间复杂度的表示法

•如何理解算法时间复杂度的表示法

第03课丨数组、链表、跳表

数组:

简单:

LeetCode - 1.两数之和(暴力,哈希)2

LeetCode - 66. 加一(数学、数组)

中等:

LeetCode - 11. 盛最多水的容器 2

链表:

第04课丨栈、队列、优先队列、双端队列

简单:

LeetCode - 20.有效的括号(栈) 1

LeetCode - 155.最小栈

LeetCode - 剑指 Offer 59 - I. 滑动窗口的最大值(双端队列)

LeetCode -844. 比较含退格的字符串(栈、双指针)

第05课丨哈希表、映射、集合

简单:

LeetCode - 1.两数之和(暴力,哈希)2

LeetCode - 202. 快乐数(快慢指针、哈希表)——快慢指针、判断链表是否有环

LeetCode - 169.多数元素(哈希表、分治)【map的几种遍历方式

LeetCode - 242.有效的字母异位词(逻辑暴力,排序,哈希) 3

LeetCode - 1160.拼写单词(哈希表)

LeetCode - 1207. 独一无二的出现次数(哈希表)

LeetCode - 1365. 有多少小于当前数字的数字(哈希表、排序)

中等:

LeetCode - 15. 三数之和 2

LeetCode - 49. 字母异位词分组(哈希)2

LeetCode - 36. 有效的数独(哈希表)

第06课丨树、二叉树、二叉搜索树

LeetCode - 94、144、145. 二叉树的前、中、后序遍历(不咋会,需要多看)重点!!

LeetCode - 589. N叉树的前序遍历、后序遍历、层序遍历(递归、迭代)

LeetCode - 235. 二叉搜索树的最近公共祖先(树的遍历,一次遍历、两次遍历)

LeetCode - 236. 二叉树的最近公共祖先(树的遍历)

第07课丨泛型递归、树的递归

简单:

LeetCode - 70. 爬楼梯(人肉递归、动态规划)2

LeetCode - 104.二叉树的最大深度(递归)1 (需要补充迭代的代码)

LeetCode - 111.二叉树的最小深度(递归)1 (需要补充迭代的代码)

LeetCode - 226.翻转二叉树(迭代、递归)2

中等:

LeetCode - 22. 括号的生成(递归)1

LeetCode - 98. 验证二叉搜索树(迭代、递归)2

困难:

第08课丨分治、回溯

LeetCode - 50. Pow(x,n) 计算 x 的 n 次幂函数(递归,分治的思想)

LeetCode - 78. 子集(迭代、递归)

LeetCode 17. 电话号码的字母组合(回溯、递归)

LeetCode - 37. 解数独(回溯法)

LeetCode - 51. N 皇后(回溯法)

第09课丨深度优先搜索和广度优先搜索

中等:

LeetCode 102. 二叉树的层序遍历(广度优先遍历BFS)

Leetcode - 515. 在每个树行中找最大值 (BFS、DFS)

第10课丨贪心算法

简单:

LeetCode - 455. 分发饼干(贪心 + 双指针)

LeetCode - 122. 买卖股票的最佳时机II(贪心算法、数组、动态规划)

860. 柠檬水找零

874. 模拟行走机器人

中等:

LeetCode - 55. 跳跃游戏(贪心)

困难:

45. 跳跃游戏 II

第11课丨二分查找

简单:

LeetCode - 69. x 的平方根(二分查找、牛顿法)

LeetCode - 367. 有效的完全平方数(二分查找、牛顿法)

中等:
LeetCode - 74. 搜索二维矩阵(二分法)

LeetCode - 33. 搜索旋转排序数组(暴力、二分)

第12课丨动态规划(重点!!!!!!!!!)

中等:

LeetCode - 53. 最大子序和(分治、动态规划)---- 题解 python

LeetCode - 62. 不同路径 (动态规划、递归、自底向上)

LeetCode - 63. 不同路径II(动态规划、递归)

LeetCode - 70. 爬楼梯(人肉递归、动态规划)2

LeetCode - 120. 三角形最小路径和(动态规划、递归、记忆搜索)

LeetCode - 152. 乘积最大子数组(动态规划)

LeetCode - 322. 零钱兑换(递归、记忆化搜索、动态规划、广度优先)

LeetCode - 1143. 最长公共子序列(动态规划)

LeetCode - 面试题 01.05. 一次编辑(动态规划)

实战题目
LeetCode - 198. 打家劫舍(动态规划)——(程序员面试金典 - 面试题 17.16. 按摩师)

高级 DP 实战题目

第13课丨字典树和并查集

字典树:

LeetCode - 208. 实现 Trie (前缀树)(字典树)

并查集:

第14课丨高级搜索

【极客大学-算法训练营】高级搜索:剪枝、双向BFS、启发式搜索(A*)

剪枝:

70. 爬楼梯
22. 括号生成
51. N 皇后
36. 有效的数独
37. 解数独

双向BFS:

127. 单词接龙
433. 最小基因变化

启发式搜索(A*):

1091. 二进制矩阵中的最短路径
773. 滑动谜题
37. 解数独

第15课丨红黑树和AVL树

AVL和红黑树的一些概念

第16课丨位运算

LeetCode - 按标签分类刷题(位运算题解)

第17课丨布隆过滤器和LRU缓存

布隆过滤器和LRU Cache的一些概念

LeetCode - 146. LRU 缓存机制(不会,重点!!!!)

第18课丨排序算法

第19课丨高级动态规划

第20课丨字符串算法

可参考链接【庄小炎】字符串算法

字符串基础问题

题解LeetCode - 字符串基础问题(另附以上题目解析)

字符串操作问题

题解LeetCode - 字符串操作问题(另附以上题目解析)

异位词问题

LeetCode - 异位词问题(另附以上题目解析)

回文串问题

LeetCode - 回文串问题(另附以上题目解析)

最长子串、子序列问题

字符串 +DP 问题

字符串课后作业:

猜你喜欢

转载自blog.csdn.net/qq_35655602/article/details/109237404
今日推荐