算法笔记
爱吃的板栗.
Be a problem solver.
展开
-
SHA-1 到底是什么?(介绍和用法)
参考:blog.sina.com.cn/s/blog_a42c4c6c0102woq9.html安全哈希算法(Secure Hash Algorithm) SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘...原创 2019-12-27 19:30:19 · 21584 阅读 · 0 评论 -
算法笔记 之 埃拉托色尼筛选法(筛选质数)
一.思路 此筛选法用于计算n以下的质数1.初始化一个2~n的连续整数数列;2.从2开始循环遍历(如果为0则跳过)假设为x;3.x与后面的数y进行循环遍历取模(如果为0则跳过);4.如果取模为0就将y设置为0;(此环节设置为0也是为了2和3环节的跳过,以节省时间和空间)其中有个问题,就是要循环到几次就可以将质数筛选出来呢,我进行试验发现(x-1)x ,包括(x-1)之前被...原创 2019-06-11 13:14:48 · 1878 阅读 · 0 评论 -
算法笔记 之 欧几得算法(求最大公约数)
一.最大公约数的定义 两个不全为0的非负整数m和n的最大公约数即为gcd(m,n),代表着能够被m和n整除(即余数为0)的最大正整数。二.关于欧几得算法 古希腊数学家、亚历山大港的欧几里得(公元前3世纪)所著的《几何原本》,以系统论述几何学而著称,在其中的一卷里,他简要的描述了最大公约数算法。用现代数学的术语来表示,欧几得算法(Euclid’s algorithm)采用的方法是重复...原创 2019-06-11 16:43:16 · 736 阅读 · 0 评论 -
STL中常用的算法(寻找最大值,最小值,索引,区间内查找算法等等)
STL中有很多算法,这些算法可以用到一个或多个STL容器(因为STL的一个设计思想是将算法和容器进行分离),也可以用到非容器序列比如数组中。众多算法中,查找算法是应用最为普遍的一类。使用STL的Vector时,利用函数 max_element,min_element,distance可以获取Vector中最大、最小值的值和位置索引:代码如下:#include <algorith...原创 2019-06-18 10:29:36 · 9525 阅读 · 0 评论 -
使用秦九韶算法和普通循环算法之间的效率差距究竟有多大?
我使用c/c++中的时钟点clock()函数(获取当前时间点)和clock_t变量(容纳clock返回值)和CLK_TCK常量(1秒钟有多少时钟点)进行效率计算。问题:使用秦九韶 算法思路一般地,一元n次多项式的求值需要经过(n+1)*n/2次乘法和n次加法,而秦九韶算法只需要n次乘法和n次加法。在人工计算时,一次大大简化了运算过程。把一个n次多项式改写成如下形式:...原创 2019-06-29 11:52:22 · 1622 阅读 · 0 评论