
算法设计与分析
文章平均质量分 93
着重于李老师要求的简单的排序实验及其算法实现,后期遇到其他算法问题可能会再补充此专栏。
TIGER1693
在此处留下见解,在互联网留下回忆,在生命中延展,在自由中追寻。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【分治算法】续:快速选择和堆选择两种算法解决选择第k小问题
寻找第k小第K小算法方法一:基于快速排序的选择方法方法二:基于堆排序的选择方法完整代码测试数据集,对比两种 k 位数算法第K小算法方法一:基于快速排序的选择方法方法一:基于快速排序的选择方法思路和算法「划分」 过程是:从子数组 a[l⋯r] 中选择任意一个元素 x 作为主元,调整子数组的元素使得左边的元素都小于等于它,右边的元素都大于等于它, x 的最终位置就是 q,且每次经过「划分」操作后,我们一定可以确定一个元素的最终位置,即 x 的最终位置为 q,并且保证 a[l⋯q−1] 中的每个元素小于原创 2021-06-03 21:40:03 · 713 阅读 · 0 评论 -
【分治算法】典型实例--快速排序&&排序算法:插入排序和二分归并排序
典型实例--快速排序,插入排序快速排序算法伪码描述Quicksort()排序查找首元素的位置Partition()真实代码实现时间复杂度分析O(nlogn)O(nlogn)O(nlogn)和O(n2)O(n^2)O(n2)插入排序算法算法描述动画演示真实代码实现二分归并排序算法伪码描述MergeSoet()二分归并完整代码实现选择问题快速排序算法设被排序的数组是A,快速排序算法的基本思想是用数组的首元素作为标准将A划分成前,后两部分,比首元素小的元素构成数组前部分,比首元素大的元素构成数组的后部分,两原创 2021-05-14 22:18:21 · 707 阅读 · 0 评论 -
【回溯与分支限界】几个典型例子&&装载问题实现
这里写目录标题算法基本思想和适用条件算法基本思想和适用条件有些问题,如搜索和优化问题,它们的解分布在一个解空间里,求解这些搜索问题的算法就是一种遍历搜索解空间的系统方法,所以解空间又称为搜索空间。求解搜索问题就是在搜索空间里找到一个或者全部解,求解组合优化问题就是找到该问题的一个最优解或者所有最优解。回溯算法将搜索空间看成是一定的结构,通常为树形结构,一个解对应于树中的一片树叶。算法从树根(即初始状态)出发,尝试所有可达的结点。当不能前行时,...原创 2021-05-13 19:44:03 · 1602 阅读 · 0 评论 -
【贪心法】典型应用之:最优前缀码,最小生成树,单源最短路径
典型应用之:最优前缀码,最小生成树,单源最短路径最优前缀码介绍最小生成树最优前缀码介绍最小生成树原创 2021-05-07 22:18:12 · 1573 阅读 · 1 评论 -
【动态规划】引例--多起点,多终点的最短路径问题
多起点,多终点的最短路径问题问题背景蛮力算法动态规划求解过程总结归纳及时间复杂度分析O(mn)O(mn)O(mn)问题背景在实例中经常会遇到路径选择问题,n个起点S1,S2,...,SNS_1,S_2,...,S_NS1,S2,...,SN,n个终点T1,T2,...,TNT_1,T_2,...,T_NT1,T2,...,TN,其余结点是途经结点,结点之间用边相连,边上的整数表示长度。问题:给定道路图,在所有起点到终点的路径中找一条长度最短的路径。蛮力算法穷举每一个起点到每一个原创 2021-05-07 11:35:01 · 9187 阅读 · 4 评论 -
【贪心法】最优装载问题/(0-1)背包问题,最小延迟调度问题,硬币贪心策略
这里写目录标题最优装载问题介绍代码最小延迟调度问题--客户服务问题介绍对贪心法得不到最优解的情况的处理最优装载问题介绍最优装载问题:某艘船的载重量为C,每件物品的重量为wi≤Cw_i≤Cwi≤C,要将尽量多的物品装入到船上,问如何选择而使能装的上船的集装箱个数最多?设xi=1x_i=1xi=1表示第i个集装箱可以装上船,否则xi=0x_i=0xi=0,则问题可以描述为:目标函数:max∑i=1nximax\displaystyle∑_{i=1}^nx_imaxi=1∑nxi约束条件:原创 2021-05-01 01:01:09 · 1623 阅读 · 1 评论 -
【贪心法】引例:活动选择问题
贪心法引例--活动选择问题输入演示代码一点点优化容器装载代码演示样例及代码总结:贪心法设计要素贪心法常用于这些近似算法的设计。贪心法和动态规划算法不一样,动态规划算法在某一步决定优化函数的最大或最小值时,需要考虑它的所有子问题的优化函数值,然后从中选出最优的结果。贪心法的选择也是多步断,每步判断不考虑子问题计算结果,而是根据当时情况采取某种"只顾眼前"的贪心策略来决定取舍,此种决策的计算工作量比动态规划小得多,但这种"短视的"贪心策略有时候只能导致局部最优,而不是全局最优。要选择合适的贪心策略并证明原创 2021-04-30 21:49:43 · 1745 阅读 · 2 评论 -
【动态规划】(下)图像压缩,最大子段和,最优二分检索树--以及对追踪解的一点优化
图像压缩,最大子段和--以及对追踪解的一点优化图像压缩关于追踪解的一点优化:输出样例追踪解代码:完整程序代码:最大子段和蛮力算法(O(n3)O(n^3)O(n3))分治策略对追踪解的一点点改进输出演示完整程序代码图像压缩介绍引用:计算机中的图像由一系列像素点构成,每个像素点称为一个像素,图像分辨率越高,使用的像素就越多,例如Windows桌面的图片常用的设置事1024*768个,大概到10610^6106数量级。图像传输和视频处理有时在1秒钟内要处理几十帧图片,图像压缩就显得尤为重要。1、问题原创 2021-04-29 20:24:46 · 854 阅读 · 0 评论 -
【动态规划】(上)投资问题,背包问题,最长子序列
介绍对于投资问题:一、问题描述:一般性描述:设m元钱,n项投资项目,函数f_i(x)表示将x元投入第i项项目所产生的效益,i=1,2,⋅⋅⋅,n;i=1,2,···,n;i=1,2,⋅⋅⋅,n;问:如何分配这mmm元钱,使得投资总效益最高?组合优化问题:假设分配给第iii个项目的钱数是xix_ixi,目标函数:max(f1(x1)+f2(x2)+⋅⋅⋅+fn(xn));max(f_1(x_1)+ f_2(x_2)+···+ f_n(x_n));max(f1(x1)+f2(x2)+⋅⋅原创 2021-04-27 21:16:24 · 765 阅读 · 0 评论