algorithm
文章平均质量分 85
yxtxiaotian
这个作者很懒,什么都没留下…
展开
-
【直观详解】线性代数的本质
【阅读时间】1小时左右 words 14069words【内容简介】将只停留在数值运算和公式的线性代数推进到可视化几何直观(Visual Geometric Intuition)的领悟上,致敬3B1B的系列视频的笔记,动图也都来自于视频。内容涉及到基变换,叉积,逆矩阵,点积,特征向量与特征值。每一章节都有一句经典的名言,非常有启发性在笔记开始之前,想象学习一个事物(概念)的场景:我们需要学习...原创 2020-02-27 16:14:07 · 3087 阅读 · 1 评论 -
ECC加密算法入门介绍
在线搜索 | 有问题找看雪ECC加密算法入门介绍标 题:ECC加密算法入门介绍 作 者:zmworm 时 间:2003/05/04 08:32pm 链 接:http://bbs.pediy.comECC加密算法入门介绍作者 :ZMWorm[CCG]E-Mail:[email protected]主页 :Http://ZMWorm.Yeah.Net/前言 同...转载 2019-03-04 16:03:53 · 345 阅读 · 0 评论 -
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导前言CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。其实,在网上有一篇介绍C转载 2016-08-08 10:37:05 · 1323 阅读 · 2 评论 -
MD5单向散列算法详解
历史:MD5 叫信息-摘要算法,是一种密码的算法,它可以对任何文件产生一个唯一的MD5验证码,每个文件的MD5码就如同每个人的指纹一样,都是不同的,这样,一旦这个文件在传输过程中,其内容被损坏或者被修改的话,那么这个文件的MD5码就会发生变化,通过对文件MD5的验证,可以得知获得的文件是否完整 md5 的全称是message-digest algorithm 5(信息-摘要算法),转载 2016-08-01 11:21:12 · 5142 阅读 · 0 评论 -
DES加解密算法
DES加解密算法入口参数有三个:key、data、mode。 key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。DES( Data Encryption Standard)算法,转载 2016-07-25 17:25:39 · 19253 阅读 · 0 评论 -
怎样检测链表中存在循环?
这应该是一个比较老的题目,在一次面试的过程中碰到过该题目,并没有能够给出最佳的答案。当时面试时没有其他条件的限制,却只能给出了几乎是最差的答案;当看到这个命题一步一步的限制的时候,我也只能给出第三步的答案。昨天有幸又翻到了这个题目,自己顺手做做,居然仍然没有太多的进步,最佳答案的思路在脑海里面已经不复存在,今天就拿这个题目温习一下,有兴趣的人也可以一步一步的思考下去看看。(在《编程之美》中也是转载 2016-10-17 09:44:23 · 4275 阅读 · 0 评论 -
模重复平方计算法
一、背景:RSA算法里头经常要用到“求x的n次方模m”这样的过程,通常使用O(log(n))的模重复平方算法来实现,提高效率。在《数论》和《信息安全数学基础》中也会介绍。二、在介绍模重复平方算法之前,我们需要了解模的基本运算,如下(来着百度百科):基本概念给定一个正整数 ,任意一个整数 ,一定存在等式 ;其中 、原创 2016-09-07 23:53:16 · 22910 阅读 · 4 评论 -
大数运算(加减乘除模)
大数运算的实现方法主要有以下几种:1) 用字符串表示大数。将大数用十进制字符数组表示,然后按照“竖式计算”的思想进行计算。这种方法比较容易理解,但是计算效率很低。2) 将大数看成二进制流进行处理。使用各种位运算和逻辑操作来实现打算的运算。该方法设计复杂,可读性较差,而且难以调试。3) 将大数表示成一个n进制数组。n的取值越大,数组的大小越小,这转载 2016-09-02 14:53:18 · 1048 阅读 · 0 评论 -
扩展欧几里得算法&同余方程&模m乘法逆元详解
复习:求最大公约数算法[cpp] view plain copy int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } 首先介绍扩展欧几里得定理:对于两个不全为0的整数a,b,必存在一组解x,y,使得ax+by=gcd(a,b转载 2016-09-05 15:50:23 · 1641 阅读 · 0 评论 -
AES加解密算法详解
0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。 根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。1 算法流程 AES加解密的流程图如下(以128位密钥为例):转载 2016-08-01 11:20:31 · 29076 阅读 · 3 评论 -
RSA算法原理(一)
阮一峰的网络日志 » 首页 » 档案上一篇:HTML Email 下一篇:RSA算法原理(二) 分类: 理解计算机RSA算法原理(一)作者: 阮一峰日期: 2013年6月27日如果你问我,哪一种算法最转载 2016-07-22 10:00:30 · 456 阅读 · 0 评论 -
RSA算法原理(二)
作者: 阮一峰日期: 2013年7月 4日上一次,我介绍了一些数论知识。有了这些知识,我们就可以看懂RSA算法。这是目前地球上最重要的加密算法。六、密钥生成的步骤我们通过一个例子,来理解RSA算法。假设爱丽丝要与鲍勃进行加密通信,她该怎么生成公钥和私钥呢?第一步,随机选择两个不相等的质数p和q。爱丽丝选转载 2016-07-22 11:02:34 · 883 阅读 · 0 评论 -
动态规划之01背包
01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。01背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] }f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi转载 2016-08-04 15:12:22 · 678 阅读 · 0 评论 -
Huffman树和Huffman编码
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)转载 2016-08-04 13:54:03 · 643 阅读 · 0 评论