
算法
算法,遭不住啊兄弟
宇智波Akali
打工是不可能打工的,工作又不会作,只能靠看看视频才可以维持得了学习这样子。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法07:常用算法排序
常用排序算法文章目录一、十种排序算法比较二、排序算法的选择三、常用算法代码0. 输入输出函数的封装1. 冒泡排序算法步骤代码2. 插入排序算法步骤代码3. 归并排序算法步骤代码4. 快速排序算法步骤代码一、十种排序算法比较 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部...原创 2020-04-06 21:16:52 · 12181 阅读 · 0 评论 -
算法题06:动态规划:最长单调递增子序列(附:最长单调连续递增子序列)
最长单调递增子序列(DP算法)题目:给定一个 nnn 个数组成的数据,设计算法找出其中最长单调递增子序列,要求算法复杂度不超过O(n2)O(n^2)O(n2)。一、问题分析(模型、算法设计和正确性证明等) 假设已经求出前n个数据的递增长度子序列的长度了。求n+1的时候,n+1项的数据直接和前n项的数据挨个比较,然后找出前n的递增长度子序列长度最大的加1就行了。求递增子序列就是该过程...原创 2020-04-01 20:33:08 · 16929 阅读 · 1 评论 -
算法题05:动态规划:求矩阵链乘的最优次序、两字符串的最长公共子串
一、用动态规划方法寻找矩阵链A1×A2×A3×A4A_1\times A_2 \times A_3 \times A_4A1×A2×A3×A4的最佳乘法结合顺序使得调用的标量乘法次数最小 ,写出计算过程。A1A2A3A4矩阵大小3×55×1010×22×4\begin{array}{|c|c|c|c|c|}\hline & A_1 & A_2 & A_3 &...原创 2020-04-01 20:25:08 · 12063 阅读 · 0 评论 -
算法题04:分治法:求第K小元素(线性时间选择算法)
求第k小元素题目内容:给定一个线性序列集,要求使用分治法求出其中指定的第 KKK 小的数的值和位置,如给定 nnn 个元素和一个整数 iii,1≤i≤n1≤i≤n1≤i≤n,输出这 nnn 个元素中第 iii 小元素的值及其位置。一、问题分析(模型、算法设计和正确性证明等)解决第K小问题有如下几种方法①将n个数排序(比如快速排序或归并排序),选取排序后的第k个数,时间复杂度为O(nlog...原创 2020-04-01 20:18:07 · 33029 阅读 · 7 评论 -
算法题03:分治与递归:三种矩阵乘法(蛮力法,朴素分治法、Strassen法)
问题:设 AAA 和 BBB 是两个 n×nn\times nn×n 阶矩阵,求它们的乘积矩阵C。这里,假设 nnn 是 222 的幂次方。实验报告正文一、问题分析(模型、算法设计和正确性证明等) 实验要求使用分治法解决n阶矩阵(n是2的幂次方)相乘问题,因为n是2的幂次方,可以使用朴素分块矩阵乘法或者 Strassen 法,这里两种都尝试一下,顺便连蛮力法也放进去。二、复杂度分析...原创 2020-03-18 17:01:08 · 19174 阅读 · 0 评论 -
算法题02:递归:大整数乘法的变式、二分搜索
给定 222 个大整数 uuu 和 vvv,它们分别有 mmm 位和 nnn 位数字,且 m≤nm\le nm≤n。 当 mmm 比 nnn 小很多时,设计一个算法用 O(nmlog(3/2))O(nm^{\log(3/2)})O(nmlog(3/2))时间求出 uvuvuv 的值。说明分析思路,写出伪代码,并写出算法复杂度分析过程。解: 考虑到mmm比nnn小很多,可以把m位乘n位的...原创 2020-03-18 16:26:09 · 13862 阅读 · 1 评论 -
(Dijkstra算法)设计实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:(1)飞行时间最短(2)费用最小(3)中转次数最少。
设计实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:(1)飞行时间最短(2)费用最小(3)中转次数最少数据如下: 机 号 出 发 地 到 达 地 出发时间 到达时间 费 用 63...原创 2019-12-08 22:05:15 · 9412 阅读 · 1 评论 -
算法题01:递归:红篮球问题
将 m≥0m\ge 0m≥0 个同样的红球,n≥0n\ge0n≥0 个同样的蓝球排成一行。对排法要求如下:任意某个蓝球左侧的红球个数大于等于其左侧的蓝球个数加1(即蓝球个数计数时包含当前蓝球),例如:下列合法的排法1中,从左数到的第1个蓝球左侧有2个红球,所以满足2≥12\ge 12≥1;且数到的第2个蓝球左侧有2个红球,满足2≥22\ge22≥2,所以是合法排列。例如合法的排法1: ◯◯...原创 2020-03-18 12:08:04 · 13000 阅读 · 1 评论