首页 > 编程语言 >C++基本算法大致总结

C++基本算法大致总结

时间:2023-10-14 17:13:42浏览次数:43  
标签:总结 std 自定义 实现 C++ 算法 Sort 排序

  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算法的堆优化版本):自定义实现。

标签:总结,std,自定义,实现,C++,算法,Sort,排序
From: https://www.cnblogs.com/ql201209/p/17764378.html

相关文章

  • CSP2023 赛前集训总结
    2023.09.18T1刘谋题面描述现在,反抗军首领大司马交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及骚猪帝国打击的星球顺序,以尽量快的速度求出每一次打击之后反抗军占据的星球的连通块的个数。(如果两个星球可以通过现存的以太通道直接或间接地连通,则这两个星球在同一......
  • 子序列有关问题总结
    我们定义子序列为:从原序列中选取若干个元素,按原序列的顺序排列的序列。1.最长上升子序列问题给定一个长为\(n\)的序列\(a\),求其中的最长的上升子序列的大小。1.1动态规划做法设\(dp_i\)为以\(a_i\)结尾的最长的上升子序列的大小,则序列\(a\)上最长的上升子序列的大小为\(\mat......
  • 2023-2024-1 20231421 《计算机基础与程序设计》第三周学习总结
    ------------恢复内容开始------------作业信息作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03作业目标:自学《计算机科学概论》第二章和第三章、《c语言程序设计》第二章作业正文:教材学习内容总结一、《计算机科学概论》1,从信息层出发,分别从二进制数值与......
  • 高精度算法
    1.高精度加法这个比较简单一些,主要是考虑满10进位的问题,直接写代码就可以。(若数字很大的话,不太好运算,所以将数字转化成字符串的形式输入)#include<iostream>usingnamespacestd;constintN=100010;intA[N],B[N],C[N];intAdd(inta[],intb[],intc[],intcnt)......
  • KMP模式匹配算法
    例题展示例题解决......
  • 每日总结10.13
    今天是一个愉快的休息日。下午,我去美甲店做了个精致的美甲,让自己感觉焕然一新。之后,和室友一起去了一家喜爱的餐厅用餐,我们聊得很开心,分享了彼此的近况和快乐。晚上回到家后,我选择了放松一下,给自己一段时间来恢复精力。我欣赏一些音乐,泡了一杯香浓的茶,让自己完全放松下来。随后,我......
  • 每日总结10.9
    今天的学习进度很充实。上午参与了工程实训课程,学习了焊接电路板的基本技巧和注意事项,这项实践让我更深入地理解了电路原理和焊接工艺。下午的Java课程则着重于基础知识的巩固和编程实践。我尝试了一些简单的Java编程练习,并成功完成了相关测试。这让我对Java的语法和概念有了更深......
  • 每日总结10.10
    今天的学习经验非常丰富。上午,我参加了算法与数据结构以及马克思主义原理的课程。在算法与数据结构方面,我们探讨了一些常见的数据结构和算法,这对编程和问题解决能力非常有帮助。而在马克思主义原理方面,我深入了解了社会和政治理论,这将有助于我更好地理解社会和历史背景。下午,我继......
  • 每日总结10.11
    今天的学习日程相当充实。上午,我参加了三节英语课,这有助于提高我的英语语言能力,无论是听力、口语还是阅读和写作。英语作为一门国际语言,对我的未来职业发展非常重要,所以全身心投入学习英语是必要的。下午,我在寝室休息并继续学习了Java编程。Java是一门强大的编程语言,具有广泛的应......
  • 每日总结10.12
    今天的学习日程多元而有趣。上午,我首先参加了统一建模语言(UML)课程,这是一门重要的计算机科学课程,用于软件工程和系统设计。通过学习UML,我学到了如何以图形化的方式表示和分析软件系统的结构和行为,这对于未来的软件开发项目将非常有帮助。接下来是体育课,这对保持身体健康和增强体能......