上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 一. 最大子序列和-联机算法 在前两篇博文中,我们了解了两种较差算法,和一种分治算法。下面我们讲解一个更好的方法:联机算法。这种算法的时间复杂度是 O(n)。这个方法也是解决这个问题的最好算法,因为无论如何,读取数据也要 n 次。 1. 实例分析 给定一组数据,data = (1, 4, -3, 7 阅读全文
posted @ 2020-08-21 19:38 Hello_Nolan 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博文中,我们了解了最大连续子序列和的概念,也实现了两种低效算法,但是我们发现还有更加高效的算法。(好吧,其实并不是我们发现的,几乎每一本教科书里,讲到最大连续子序列和问题时,都会依次分析这4种算法,从而展现对同一问题使用不同方法,产生的效果也会不同)。 一. 最大连续子序列和-分治算法 分治 阅读全文
posted @ 2020-08-21 05:47 Hello_Nolan 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 一. 定义 1.序列: 给定一组数据,这组数据就叫做序列。这里的数据有可能是一年的交易额,或者有其余的含义。所以数据并不是经过排序的。比如 data = (1, 4, -3, 7, -6, 10). 2.连续子序列: 在序列中,任取连续区间的一组数据,叫做连续子序列。 3.最大连续子序列和: 把每个 阅读全文
posted @ 2020-08-20 04:30 Hello_Nolan 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 一. 定义 1.移动平均值是什么? (1)移动平均值,是一种统计指标,用于观测一组随时间变化的量。 (2)M-移动平均值,是最后 M 个数的移动平均值。一定要注意,这边算出的平均值是一组数,而不是一个数。 2. 移动平均值怎么算? 首先我们给出一组数据,data = ( 1, 2, 3, 4, 5, 阅读全文
posted @ 2020-08-19 00:18 Hello_Nolan 阅读(1647) 评论(0) 推荐(0) 编辑
摘要: 一. 问题 一元二次方程的一般形式为 ax2 + bx + c = 0,求出 x 的值。 二. 思路 因为已经明确说明了是二次的,所以我们不考虑 a = 0 的情况。在这里,我们选择利用求根公式计算方程的根。 三. 代码实现 1 void solution(double a, double b, d 阅读全文
posted @ 2020-07-27 15:46 Hello_Nolan 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一. 问题 编写程序,找出1到100之间的所有素数。 二. 思路 1. 用一个 vector 保存当前找到的素数,这个 vector 称为素数表。 2. 对 1 到 100 之间的每一个数,都用这个vector中的素数去除,如果发现能整除,那么说明当前这个数是合数;如果不能整除,那么就说明当前这个数 阅读全文
posted @ 2020-07-26 23:45 Hello_Nolan 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 一. 问题 1. 定义:中值使得一个序列中一半元素在它之前,一半元素在它之后。 2. 问题:求出一个序列的中值。 二. 思路 我们有一个序列,需要知道序列元素的个数。当有奇数个元素时,中值自然就是最中间的数字;当有偶数个元素时,需要将最中间的两个元素相加,求得的平均值就是序列的中值。 序列的元素可以 阅读全文
posted @ 2020-07-25 22:01 Hello_Nolan 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 一. 算法内容: 将一组未排序的数字,按照从小到大的顺序排序。 二 . 算法思路及步骤: 算法将元素分为两部分,假想有一条分界线,它的左边是已排序的元素,右边是未排序的元素。算法将相邻数字两两比较,如果前一个数字大于后一个数字,那么交换这两个数,否则向后移动一个数,继续执行比较操作。每趟比较将最大的 阅读全文
posted @ 2020-06-23 23:27 Hello_Nolan 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 一. 概念引入 1.定义 (1)x 的 n 次多项式: P(x) = anxn + an-1xn-1 + ... + a1x + a0。(其中 x 是底数, n 是指数, ai 是每一项前面的系数, 0 ≤ i ≤ n ,并且最高次项前面的系数不为 0 ) 2. 实例分析 (1)求 xn 的方法: 阅读全文
posted @ 2020-06-22 09:51 Hello_Nolan 阅读(2480) 评论(0) 推荐(0) 编辑
摘要: 算法内容: 求两个正整数 m , n 的最大公约数。 步骤: 1. 用 m 除以 n 得到余数 r 2. 判断 r 是否为 0 ,如果为 0,那么说明最大公约数是 n,如果不为 0,则将 n 的值给 m ,将 r 的值给 n。直到 r 的值为 0 为止。 算法分解: 实例一: 假设 m = 10, 阅读全文
posted @ 2020-06-15 23:40 Hello_Nolan 阅读(289) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页