一、四大基本算法
分治法
动态规划(一次买卖股票、多次买卖股票、最大连续子序列和、最大连续子序列积、最长公共子序列)
贪心算法
穷举法
二、常用便捷算法
异或法(单次偶次数、顺序单次偶次数)
位运算(单次k次数)
与运算n&(n-1) (2的次方、二进制1的个数)
和差法(顺序缺失,顺序单个重复)
头尾双指针(抛物线顺序)
快慢指针,2倍(链表环、链表环入口、接雨水、删除链表的倒数第n个节点、链表是否为回文结构)
平移乘积取余
桶排序
hash表(重复元素、无重复元素、两数之和与积、)
二分查找(平方数)
堆排序(topK、寻找第K大、)
栈(括号匹配、表达式计算、括号序列)
位数加法(链表相加、大数加法、数组相加)
三、总结
算法 - Algorithms
排序算法:快速排序、归并排序、计数排序
搜索算法:回溯、递归、剪枝技巧
图论:最短路、最小生成树、网络流建模
动态规划:背包问题、最长子序列、计数问题
基础技巧:分治、倍增、二分、贪心
初级算法 - 帮助入门、中级算法 - 巩固训练 、 高级算法 - 提升进阶
数据结构 - Data Structures
数组与链表:单 / 双向链表、跳舞链
栈与队列
树与图:最近公共祖先、并查集
哈希表
堆:大 / 小根堆、可并堆
字符串:字典树、后缀树
数据结构探索板块