算法设计与分析
记录算法设计与分析的相关实验
旭日东升1680
天行健,君子以自强不息。
展开
-
【回溯算法5.6】0-1背包问题(C++实现)
【代码】【回溯算法5.6】0-1背包问题(C++实现)原创 2023-11-27 21:30:20 · 773 阅读 · 0 评论 -
【动态规划算法3.3】最长公共子序列(C++实现)
【代码】【动态规划算法3.3】最长公共子序列(C++实现)原创 2023-11-13 22:12:36 · 1105 阅读 · 0 评论 -
【动态规划算法3.1】矩阵连乘问题(C++实现)
【代码】【动态规划算法3.1】矩阵连乘问题(C++实现)原创 2023-10-30 22:49:24 · 1318 阅读 · 0 评论 -
【分治算法2.10】最接近点对问题(C++实现)
最接近点对问题的分治算法的基本思想是将问题分解为较小的子问题,然后合并子问题的解以获得原始问题的解。原创 2023-10-17 09:09:12 · 620 阅读 · 0 评论 -
【分治算法2.9】线性时间选择(C++实现)
线性时间选择算法(Linear-time selection algorithm)的一个经典例子是 "QuickSelect",其基本思想与 "QuickSort" 快速排序算法相似。线性时间选择算法的目标是找到一个无序列表中第 k 小的元素,而不是对整个列表进行排序。:从列表中选择一个“主元”(pivot)元素。这个主元的选择方法有很多种,可以是随机选择,或者使用一个称为“中位数的中位数”的方法。:与快速排序一样,按照这个主元将列表划分为两个子列表,一个包含小于主元的元素,另一个包含大于主元的元素。原创 2023-10-16 22:35:34 · 421 阅读 · 0 评论 -
【分治算法2.8】快速排序(C++实现)
快速排序(Quick Sort)是一种经典的分治策略排序算法,其基本思想是通过将一个数组分成两个子数组,其中一个子数组的所有元素都小于另一个子数组的元素,然后递归地对这两个子数组进行排序,最终将它们合并在一起以获得完全排序的数组。快速排序的平均时间复杂度为O(n log n),其中n是要排序的元素数量。原创 2023-10-09 22:14:58 · 180 阅读 · 0 评论 -
【分治算法2.7】合并排序(C++实现)
分治策略中合并排序(Merge Sort)算法的基本思想是将一个大的问题分解成两个或多个较小的子问题,分别解决这些子问题,然后将它们的解合并在一起以获得原始问题的解。合并排序特别适用于对大型数据集进行排序操作,其时间复杂度为O(n log n),其中n是要排序的元素数量。原创 2023-10-09 21:46:59 · 686 阅读 · 0 评论 -
【分治算法2.4】大整数的乘法(C++实现)
大整数的乘法(C++实现)原创 2023-10-08 00:05:02 · 3212 阅读 · 0 评论 -
【分治算法2.6】棋盘覆盖(C++实现)
【分治算法2.6】棋盘覆盖(C++实现)原创 2023-09-17 11:39:58 · 623 阅读 · 0 评论 -
【分治算法2.1】递归算法案例(C++实现)
直接或间接地调用自身的算法称为递归算法。原创 2023-09-08 11:18:31 · 408 阅读 · 0 评论 -
Visual Studio 2022安装教程
Visual Studio 2022安装教程以及简单的使用原创 2023-09-01 21:18:23 · 797 阅读 · 0 评论