算法学习总结

本文深入探讨数据结构的基础,包括数组、链表、树(二叉树、平衡树、堆)及栈、队列、散列表和图。同时,文章详细阐述了算法的核心,如二进制位运算、异或操作、链表操作(头插法、双指针)、二叉树遍历、动态规划问题(爬楼梯、最大子序和)及排序算法(快速选择、堆)。此外,还涉及了回溯算法和设计类问题,如LRU缓存和Trie树实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构基础

数组

链表(单链表、双链表)

树(二叉树、平衡二叉树、堆…)

队列

散列表

数据结构你需要掌握这些,当然图的算法会复杂一些可以先跳过

算法

二进制相关

位运算

191. 位1的个数
231. 2 的幂
461. 汉明距离

异或操作

136. 只出现一次的数字
137. 只出现一次的数字 II

与操作

剑指 Offer 64. 求1+2+…+n

这些是考察二进制相关运算、与操作、异或操作

链表

头插法

206. 反转链表

双指针

141. 环形链表
19. 删除链表的倒数第 N 个结点

二叉树的遍历(递归非递归)

二叉树的高度

二叉树的所有路径、路径和

20. 有效的括号
225. 用队列实现栈
739. 每日温度

队列

232. 用栈实现队列
239. 滑动窗口最大值

回溯算法

46. 全排列
47. 全排列 II
78. 子集
77. 组合

动态规划

70. 爬楼梯
53. 最大子序和
279. 完全平方数
264. 丑数 II
62. 不同路径
63. 不同路径 II
64. 最小路径和
139. 单词拆分
140. 单词拆分 II
这里面还有一些背包问题
「力扣」第 474 题:一和零(中等);
「力扣」第 494 题:目标和(中等);
416. 分割等和子集
322. 零钱兑换
「力扣」第 518 题:零钱兑换 II(中等);

排序算法(快速选择、分治、堆)

二分查找

34. 在排序数组中查找元素的第一个和最后一个位置
153. 寻找旋转排序数组中的最小值
154. 寻找旋转排序数组中的最小值 II
33. 搜索旋转排序数组
81. 搜索旋转排序数组 II

设计类

146. LRU 缓存机制
208. 实现 Trie (前缀树)
1206. 设计跳表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值