算法(Algorithms)

掌握常用的算法,理解算法复杂度分析,能够解决常见的编程问题

📚 核心内容

1. 算法复杂度分析

  • 时间复杂度(O 表示法)
  • 空间复杂度
  • 最好、最坏、平均情况
  • 渐进分析

2. 排序算法

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 归并排序
  • 堆排序
  • 基数排序

3. 搜索算法

  • 线性搜索
  • 二分搜索
  • 深度优先搜索(DFS)
  • 广度优先搜索(BFS)

4. 动态规划

  • DP 基本原理
  • 状态转移方程
  • 记忆化搜索
  • 背包问题
  • 最长公共子序列

5. 贪心算法

  • 贪心策略
  • 活动选择问题
  • 最小生成树
  • 最短路径

6. 图算法

  • 最短路径(Dijkstra、Floyd)
  • 最小生成树(Kruskal、Prim)
  • 拓扑排序
  • 强连通分量

🔗 相关链接

📖 学习资源

  • 《算法导论》
  • LeetCode 算法题库
  • 《算法竞赛入门经典》

学习目标:掌握常用算法,能够分析算法复杂度,解决实际问题