C刷题:LeetCode常用算法框架及数据结构套路总结

作者:来知晓
公众号:来知晓
刷题交流QQ群:444172041

前言


本文把各分散的刷题博客总结,归纳整理成体系,汇总于此,刷题在精不在多,需能理解本质,做到举一反三,一通百通。欢迎盆友们讨论交流。

高频解题框架


对算法套路的特点进行总结,如下表:

算法套路应用场景相关数据结构备注
DFS深搜本质是前序、中序、后序遍历的各种改编递归/迭代
BFS广搜本质是层序遍历的各种改编队列迭代
滑动窗口应用场景多为字符串子串子序列,本质是暴力解法两层for循环的优化,动态调整left/right边界字符串双指针技巧
二分法应用场景为查找指定值或者左右边界,要求输入有序数组/字符串时间复杂度logN
区间问题todo数组

对高级数据结构的特点进行总结,如下表:

数据结构套路应用场景本质备注
优先队列/最大堆求前k个最大(最小)的问题数组/树
Hash用在高频率的字符串/数值的查找中散列O(1)
二叉树结合DFS/BFS以及树的性质来操作,具有极强灵活性

优先队列相关题目:
373. 查找和最小的K对数字

下面是算法套路和数据结构套路的实战总结,将各博客汇总分类如下,水平有限,欢迎拍砖。

算法套路


DFS深搜

todo

BFS广搜

todo

滑动窗口/滑窗

todo

二分法总结

区间问题

todo

数据结构套路


主要是一些高级数据结构的直接应用。

  • 链表
  • 优先队列
  • Hash
  • 二叉树

必备工程技巧


  • 动态申请二维数组
  • 排序:调用qsort快排函数给一维数组、二维数组、字符串等排序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值