算法相关

常见方法

1. 首尾双指针;

2. 二分法;

3. 动态规划: 利用数组、二维数组有时候优化成一维数组;

4. 递归(包含记忆化递归,尾递归): 二叉树、链表;

5. 并查集;

6. top K(堆);

7. 哈希(通常是空间换时间);

8. 滑动窗口;

9. 回溯法(包含记忆化回溯);

10. 快慢指针(链表的操作);

11. 使用栈(递归的替代)

12. dfs(深度遍历)、剪枝

13. 并查集

14. 空间换时间(使用hash,数组等,包含自身来当作空间)

15. 单调栈


快速排序,堆排序

字符串匹配算法

二叉树的 前中后序迭代遍历, 莫里斯遍历

图相关

洗牌算法、蓄水池采样(382,384,398,470);


位运算

 & and

 0&0=0

 0&1=0

 1&0=0

 1&1=1

 | or

 0|0=0

 1|0=1

 0|1=1

 1|1=1

 ^

 0^0  =0

 1^0=1

 0^1=1

 1^1=0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 声明:本文内容纯属博主自己查找和归纳的个人所需的知识点,仅作参考,如有错误,博主强烈希望您指出。如果您是某个知识点...
    _DX3906阅读 454评论 0 1
  • 实最长公共子列(Java 动态规划) https://www.toutiao.com/i6826145919168...
    临风2020阅读 126评论 0 0
  • 本文转自https://blog.csdn.net/Oliverfly1/article/details/1071...
    Nrocinu阅读 340评论 0 0
  • 1、快排空间 由于快排是递归的,需要借助一个递归工作栈来保存每一层递归调用的必要信息,其容量与最大深度一致。最好的...
    saviochen阅读 645评论 0 3
  • 时间复杂度相关 时间复杂度简单的可以理解为:代码执行的次数 a^x=N -> x=loga^x 数组和链表 ...
    强某某阅读 461评论 0 0

友情链接更多精彩内容