基础算法
Bee_Darker
不积跬步,无以至千里;
不积小流,无以成大海
展开
-
基础算法(二)筛法求素数
1.基本思想 把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。2.示例1 2 3 4 5 6 7 8 ...原创 2018-11-01 00:45:49 · 516 阅读 · 1 评论 -
基础算法(一) 欧几里得算法求最大公约数
1.简介欧几里得算法又称辗转相除法,用于求两个正整数a,b的最大公约数2.算法设计1)如果a<b,交换a,b的值2)r=a mod b(即r是a÷b的余数),若 r = 0,算法结束,b即为答案3)否则,互换:a ← b,b←r,并返回第一步。3.算法流程图4.C语言代码实现#include<stdio.h>int main(){ ...原创 2018-10-31 00:15:24 · 11698 阅读 · 1 评论 -
基础算法(五)次方求模
1.问题描述求a 的 b 次方对 c 取余的值。输入:第一行输入一个整数 n ,表示测试数据的组数(n <100),每组数据只有一行,其中有三个正整数 a,b,c(1 ≤a,b,c≤10000000000)输出:a的b次方对c取余之后的结果。样例输入:32 3 53 1...原创 2018-11-06 23:54:44 · 1152 阅读 · 0 评论 -
基础算法(三)康托展开
1.定义康托展开是一个全排列到一个自然数的双射,其实质是计算当前所有由小到大全排列中的顺序,因此是可逆的,适用于解决一些序列问题的算法。2.原理3.示例在(1,2,3,4,5)5个数的排列组合中,计算34152的康托展开值。【分析】首位是3,小于3的数只有1和2两个,故a[5] = 2,则首位小于3的所有排列组合为a[5]*(5-1)!.第二位是4,在4以后小于4的...原创 2018-11-02 20:34:29 · 263 阅读 · 0 评论 -
基础算法(四)同余定理
1.定理描述给定一个正整数m(m > 1),如果两个整数 a 和 b 满足 a-b能够被 m 整除,即 (a-b)/m 得到一个整数,那么就称 a 与 b 对模m同余,记作:a ≡ b(mod m),读作 :a 与 b 对模 m同余。显然有如下事实:1)若 a ≡ 0(mod m),则 a | m;2) a ≡ b(mod m)等价于分别用 m 去除 a 和 b ,余数相同。...原创 2018-11-05 22:59:43 · 2274 阅读 · 0 评论 -
排序算法(二)冒泡排序
1.问题描述从键盘输入5个数,对5个数排序(由大到小)并输出。2.解题思路将一组数中相邻两个数比较①比较第一个数与第二个数,若为逆序a[0] > a[1],则交换;然后比较第二个数与第三个数;以此类推,直至第 n-1个数和第 n 个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素上。②对前 n-1 个数进行第二趟冒泡排序,结果使次大的数被安置在第 n-1 个...原创 2018-11-13 20:03:32 · 344 阅读 · 0 评论 -
排序算法(一)选择排序
1.问题描述从键盘上输入10个整数,用选择法将其由小到大的顺序排列并输出。2.解题思路1)先将10个数中的最小的数余 a[0]对换;2)再将 a[1] 到 a[9]中最小的数与 a[1] 对换;3)每比较一轮,找出一个未排序的数中最小的一个,共比较9轮。3.图解 8 9 5 6 7 3 4 0 2 1 0 ...原创 2018-11-08 23:20:14 · 231 阅读 · 0 评论 -
排序算法(三)插入排序
1.问题描述用插入法对<6,5,3,1,8,7,2,4>重新排序,使其从小到大输出。2.解题思路1)从第一个元素开始,该元素被认为已排序;2)取出下一个元素,在已排列的元素序列中从后向前扫描;3)如果已排序的元素大于新元素,则将该元素移到下一位置;4)重复步骤3,直到找到已排序的元素小于或等于新元素的位置;5)将新元素插入到该位置;6)重复步骤2。3...原创 2018-11-16 20:22:44 · 283 阅读 · 0 评论 -
基本算法(六)折半查找
1.查找过程首先,假设数列是递增的。查找时,先查找中间的数,若待差的数与中间的数相等,则查找成功;若待查的数比中间的数小,则到数组的前半部分查找;否则待查数比中间数大,则到数组的后半部分查找。以同样的方法在选定的区域中进行查找,每次都会将查找范围缩小一半,较快便能找到目的数。直到将查找区域缩小为0,如果找到了要查找的数,则查找成功,否则查找失败,表明有序数列中没有要查找的数。2.算法要求...原创 2018-11-17 20:46:38 · 1053 阅读 · 0 评论