C++基本算法大致总结

  1. 排序算法

    • 快速排序(Quick Sort):使用std::sort或自定义实现。

    • 归并排序(Merge Sort):自定义实现或使用std::stable_sort

    • 堆排序(Heap Sort):自定义实现或使用std::make_heapstd::sort_heap

  2. 搜索算法

    • 二分查找(Binary Search):使用std::binary_search或自定义实现。

    • 线性查找(Linear Search):自定义实现。

  3. 图算法

    • 深度优先搜索(DFS):用于图的遍历,自定义实现。

    • 广度优先搜索(BFS):也用于图的遍历,自定义实现。

    • 最短路径算法(Dijkstra、Floyd-Warshall等):自定义实现或使用第三方库。

    • 最小生成树算法(Prim、Kruskal等):自定义实现或使用第三方库。

  4. 动态规划

    • 背包问题(0/1背包、多重背包等):自定义实现。

    • 最长公共子序列(LCS):自定义实现。

    • 最长递增子序列(LIS):自定义实现。

  5. 字符串处理

    • 字符串匹配(KMP算法、Boyer-Moore算法等):自定义实现或使用第三方库。

    • 字符串编辑距离(Levenshtein距离):自定义实现。

  6. 树结构

    • 二叉树遍历(前序、中序、后序遍历):自定义实现。

    • 平衡二叉树(AVL树、红黑树等):自定义实现或使用STL的std::setstd::map

    • 哈夫曼树:自定义实现。

  7. 排序和搜索算法的优化

    • 桶排序(Bucket Sort):自定义实现。

    • 基数排序(Radix Sort):自定义实现。

    • 哈希表(Hash Table):使用STL的std::unordered_mapstd::unordered_set

  8. 图算法的优化

    • 拓扑排序:自定义实现。

    • 最短路径算法的优化(Dijkstra算法的堆优化版本):自定义实现。

posted @ 2023-10-14 16:54  Sairate  阅读(258)  评论(0)    收藏  举报