c++ 算法

呢啥,我将开始一个新的系列,c++ 算法系列,包括以下的所有算法,有些复杂的会分成2-3篇。

1. 排序算法

  • 冒泡排序(Bubble Sort)
  • 选择排序(Selection Sort)
  • 插入排序(Insertion Sort)
  • 归并排序(Merge Sort)
  • 快速排序(Quick Sort)
  • 堆排序(Heap Sort)
  • 计数排序(Counting Sort)
  • 基数排序(Radix Sort)
  • 桶排序(Bucket Sort)
  • Intro 排序(C++ std::sort 内部使用)

2. 搜索算法

  • 线性搜索(Linear Search)
  • 二分搜索(Binary Search)
  • 三分搜索(Ternary Search)(用于单峰函数)
  • 指数搜索(Exponential Search)
  • 跳跃搜索(Jump Search)
  • 插值搜索(Interpolation Search)
  • 图的 DFS / BFS 搜索

3. 图算法

  • 深度优先搜索(DFS)
  • 广度优先搜索(BFS)
  • Dijkstra 最短路(加权图)
  • Bellman-Ford 最短路(允许负权)
  • Floyd-Warshall 全源最短路
  • Prim / Kruskal 最小生成树
  • 拓扑排序(Topological Sort)
  • 并查集 / Disjoint Set(连通分量)
  • A 搜索、SPFA、Tarjan 强连通分量*
  • 二分图匹配 / 最大流 / 最小割

4. 动态规划(DP)

  • 背包问题(0/1、完全、分数)
  • 最长公共子序列(LCS)/最长公共子串
  • 最长递增子序列(LIS)
  • 矩阵链乘法
  • 树形 DP / 图 DP
  • 找零钱问题、编辑距离、子集和

5. 贪心算法

  • 活动选择问题
  • 哈夫曼编码(Huffman Coding)
  • 分数背包问题(Fractional Knapsack)
  • 作业调度(Job Scheduling)

6. 分治算法

  • 归并排序、快速排序
  • 二分搜索
  • 最近点对问题
  • Strassen 矩阵乘法

7. 回溯 / 递归

  • N 皇后问题
  • 数独求解器(Sudoku Solver)
  • 全排列 / 组合生成
  • 子集生成

8. 数论 / 数学算法

  • 埃拉托色尼筛法(Sieve of Eratosthenes)
  • 最大公约数 / 最小公倍数(GCD / LCM,欧几里得算法)
  • 快速幂 / 模幂
  • 费马小定理、剩余定理(CRT)
  • 因数分解、质数测试
  • 扩展欧几里得算法
  • 快速傅里叶变换(FFT)

9. 字符串算法

  • KMP(Knuth-Morris-Pratt)
  • Rabin-Karp 算法
  • Z 算法
  • 字典树(Trie)、后缀树 / 后缀数组
  • Manacher 算法(求最长回文子串)

10. 几何算法

  • 凸包(Graham Scan / Jarvis March)
  • 直线相交 / 点在多边形内判断
  • 最近点对问题
  • 多边形面积 / 向量叉积

11. 其他常用技巧 / 数据结构配套算法

  • 双指针 / 滑动窗口
  • 前缀和 / 差分数组
  • 线段树 / 树状数组(Fenwick Tree / BIT)
  • 稀疏表(Sparse Table)
  • 堆 / 优先队列相关算法
  • 单调栈 / 单调队列

敬请期待!

相关推荐
点云SLAM1 小时前
Boost库中Math 模块的插值(interpolation使用和示例
算法·插值·boost库·b-spline·akima 样条·单调三次样条·barycentric 插值
Ghost-Face1 小时前
《逆袭导论》————初中生的宝书
算法
不会c嘎嘎2 小时前
算法百练,直击OFFER -- day5
c++·算法
搬砖ing换来金砖2 小时前
Python入门-Task02
开发语言·python
雨中散步撒哈拉2 小时前
17、做中学 | 初三下期 Golang文件操作
开发语言·后端·golang
序属秋秋秋2 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
Aileen_0v02 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
CoderYanger2 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
全栈陈序员2 小时前
【Python】基础语法入门(九)—— 代码规范、调试技巧与性能初探
开发语言·python·代码规范