阴险的布谷鸟:算法理论。
字面意思
布谷鸟:俗称"百舌鸟",叫声像布谷
阴险:狡猾、让人防不胜防
阴险的布谷鸟 = 看似简单实则刁钻
深层寓意
为什么叫”阴险”
算法题就像布谷鸟——阴险得很。
布谷鸟把蛋下在别的鸟巢里,让别的鸟养自己孩子。
算法题也一样:题目看着简单,做着才发现处处是坑。
你以为会了?不,还有边界条件没考虑。
你以为优化了?不,还有更优的解法。
经典算法分类
暴力枚举:最笨但最稳
动态规划:状态转移,空间换时间
回溯法:剪枝,走不通就回头
贪心算法:局部最优,但可能不是全局最优
分治法:分而治之,递归解决
数据结构
数组、链表、栈、队列
树:二叉树、红黑树、平衡树
图:Dijkstra、Prim、Kruskal
哈希表:快但可能冲突
解题套路
1. 读题:搞清楚输入输出
2. 找规律:暴力解能不能过
3. 优化:时间复杂度、空间复杂度
4. 边界:空值、极端值、溢出
5. 验证:多测几组数据
常见题型
排序:快排、归并、堆排
搜索:二分、BFS、DFS
动态规划:背包、最长递增子序列
图论:最短路、最小生成树
字符串:KMP、Trie 树
学习建议
不要死记硬背,要理解思路
多刷例题,动手实现
总结模板,形成套路
遇到不会的,先想暴力解,再优化
分类内容
算法理论讲解、例题
数据结构基础
解题思路、技巧总结
一切"算法"相关的文章
评论