IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 力扣记录:代码随想录总结 -> 正文阅读

[数据结构与算法]力扣记录:代码随想录总结

前言

  • 花费两个月刷完了代码随想录,通过分类型地学习与做题,让我对算法有了更深入的认识,打下了牢固的基础,感谢代码随想录,感谢carl哥!

一、数组

  • 一般数组、字符串(可以转为字符数组)都可以考虑以下方法

二分查找

双指针

滑动窗口

螺旋矩阵

二、链表

三、哈希表

四、字符串

五、双指针

  • 针对数组、字符串和链表问题都可以使用双指针,降低时间复杂度
  • N数之和,三数、四数之和用双指针,两数之和用哈希表
  • 之前使用双指针的题目

六、栈与队列

七、*二叉树

  • 二叉树问题一定要掌握递归!递归时注意前中后序的要求!

7.1 二叉树的遍历

7.2 二叉树的属性

7.3 二叉树的修改与改造

7.4 求二叉搜索树的属性

7.5 二叉树公共祖先问题

7.6 二叉搜索树的修改与改造

八、*回溯算法

8.1 组合

8.2 分割

8.3 子集

  • 子集问题需要收集所有节点的结果,组合问题需要收集叶子节点的结果
  • 同样注意剪枝和去重问题
  • 时间复杂度O(n * 2 ^ n),空间复杂度O(n)
  • 题目

8.4 排列

  • 排列是有序的,组合是无序的;排列每次都从下标0开始,组合是从startIndex开始
  • 排列需要使用used数组记录使用过的元素来去重
  • 时间复杂度O(n !),空间复杂度O(n)
  • 题目

8.5 棋盘问题

  • 二维递归回溯
  • 题目
    • 51 N皇后
      • 时间复杂度O(n !),空间复杂度O(n)
    • 37 解数独
      • 时间复杂度O(9 ^ m),空间复杂度O(n ^ 2)

8.6 其他

九、贪心算法

  • 找出局部最优,推出全局最优

9.1 简单

9.2 中等

9.2.1 序列问题

9.2.2 *股票问题

9.2.3 两个维度权衡问题

9.3 较难

9.3.1 *区间问题

9.3.2 其他

十、*动态规划DP

  • 动规五步:定义dp数组、确定递推公式、初始化dp数组、确定遍历顺序、举例

10.1 基础题目

10.2 *背包问题

10.2.1 01背包

  • 二维dp数组dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是dp[i][j]。注意遍历顺序都可以(小到大
  • 使用一维滚动数组dp[j]优化,表示容量为j的背包,所背的物品价值可以最大为dp[j]。注意遍历顺序为先物品(i小到大)后背包(j大到小,防止物品放入多次)
  • 题目

10.2.2 完全背包

10.3 打家劫舍

10.4 股票问题

  • 考虑每天可能存在的状态
  • 题目
    • 121 买卖股票的最佳时机(只能买卖一次)、122 买卖股票的最佳时机II(可以买卖多次)、123 买卖股票的最佳时机III(最多买卖两次)、188 买卖股票的最佳时机IV(最多买卖k次)、309 买卖股票的最佳时机含冷冻期(买卖多次,卖出有一天冷冻期)、714 买卖股票的最佳时机含手续费(买卖多次,每次有手续费)

10.5 子序列问题

10.5.1 子序列(不连续)

  • 300 最长上升子序列、1143 最长公共子序列、1035 不相交的线

10.5.2 子序列(连续)

  • 674 最长连续递增序列、718 最长重复子数组、53 最大子序和

10.5.3 编辑距离

10.5.4 回文

十一、单调栈

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:09:52  更:2022-07-20 19:10:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:44:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码