![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
加密算法
暗影岛-寒冰射手
这个作者很懒,什么都没留下…
展开
-
什么是对称密码技术?
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法, 对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES 的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系...转载 2018-06-08 21:03:14 · 2118 阅读 · 0 评论 -
基数排序
概要本章介绍排序算法中的基数排序。内容包括:1. 基数排序介绍2. 基数排序图文说明3. 基数排序实现3.1 基数排序C实现3.2 基数排序C++实现3.3 基数排序Java实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3603669.html更多排序和算法请参考:数据结构与算法系列 目录 基数排序介绍基数排序(...转载 2018-08-25 09:33:50 · 4858 阅读 · 1 评论 -
基数排序中的LSD方法和MSD方法
最高位优先(Most Significant Digit first)法,简称MSD法:先按k1排序分组,同一组中记录,关键码k1相等,再对各组按k2排序分成子组,之后,对后面的关键码继续这样的排序分组,直到按最次位关键码kd对各子组排序后。再将各组连接起来,便得到一个有序序列。最低位优先(Least Significant Digit first)法,简称LSD法:先从kd开始排序,再对kd...转载 2018-08-25 09:41:16 · 925 阅读 · 0 评论 -
经典算法——计数排序算法
计数排序:该算法于1954年由 Harold H. Seward 提出。它是一个不需要比较的,类似于桶排序的线性时间排序算法。该算法是对已知数量范围的数组进行排序。其时间复杂度为O(n),适用于小范围集合的排序。计数排序是用来排序0到100之间的数字的最好的算法。比如100万学生参加高考,我们想对这100万学生的数学成绩(假设分数为0到100)做个排序。基本思想:对于给定的输入序列中的每...转载 2018-08-25 09:45:18 · 197 阅读 · 0 评论 -
可视化的排序二:冒泡排序、鸡尾酒排序和快速排序
冒泡排序 冒泡排序的可视化图: 冒泡排序的概念:冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直至没有反序的记录为止。因为按照该算法,每次比较会将当前未排序的记录序列中最小的关键字移至未排序的记录序列最前(或者将当前未排序的记录序列中最大的关键字移至未排序的记录序列最后),就像冒泡一样,故以此为名。 冒泡排序算法的算法描述如下:...转载 2018-08-25 09:53:39 · 205 阅读 · 0 评论 -
十大开发常用算法
第一快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一...转载 2018-08-25 10:02:23 · 353 阅读 · 0 评论 -
BFPRT算法(TOP-K问题)
一:背景介绍在一大堆数中求其前k大或前k小的问题,简称TOP-K问题。而目前解决TOP-K问题最有效的算法即是BFPRT算法,其又称为中位数的中位数算法,该算法由Blum、Floyd、Pratt、Rivest、Tarjan提出,最坏时间复杂度为O(n)。在首次接触TOP-K问题时,我们的第一反应就是可以先对所有数据进行一次排序,然后取其前k即可,但是这么做有两个问题:(1):快速排序...转载 2018-08-25 10:15:38 · 212 阅读 · 0 评论 -
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此採用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁,而对于广度遍历来说,须要其他数据结构的支撑。...转载 2018-10-29 18:00:05 · 3302 阅读 · 0 评论 -
HTTP和HTTPS协议,看一篇就够了
https://blog.csdn.net/xiaoming100001/article/details/81109617转载 2019-02-27 17:45:35 · 452 阅读 · 0 评论 -
CRC32加密算法原理
https://blog.csdn.net/android_mnbvcxz/article/details/78902737转载 2019-03-20 08:57:21 · 896 阅读 · 0 评论 -
公钥加密算法那些事 | RSA 与 ECC 系统对比
一、背景据记载,公元前 400 年,古希腊人发明了置换密码。1881 年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用「恩尼格玛」密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在 1997 年,美国国家标准局公布实施了「美国数据加密标准(DES)」,民间力量开始全面介入密码学的研究和应用中,采用的加密算...转载 2019-04-02 09:06:56 · 484 阅读 · 0 评论 -
图解排序算法:桶排序
排序算法概述这里我讲的排序算法都是指内部排序算法,大致有九种,而内部排序算法又分为基于比较的排序算法和不基于比较的排序算法,其分类如下:比较排序: 直接插入排序 希尔排序 冒泡排序 快速排序 简单选择排序 ...转载 2018-08-25 09:30:02 · 378 阅读 · 0 评论 -
排序算法之桶排序的深入理解以及性能分析
前言本文为算法分析系列博文之一,深入探究桶排序,分析各自环境下的性能,同时辅以性能分析示例加以佐证实现思路与步骤思路设置固定空桶数 将数据放到对应的空桶中 将每个不为空的桶进行排序 拼接不为空的桶中的数据,得到结果步骤演示假设一组数据(20长度)为[63,157,189,51,101,47,141,121,157,156,194,117,98,139,67,133...转载 2018-08-25 09:25:21 · 6866 阅读 · 1 评论 -
非对称加密
Bob将衣服放到一个保险箱里边锁起来,他打了个电话告诉Alice保险箱开柜密码是1234,而黑客H不知道密码,所以他看不到保险箱里边的东西,Alice收到快递后用预先沟通好的密码就可以打开保险箱了。这里保护的手段就是Bob对物品进行加密,同时给了告诉Alice解密的方法!那如果现在要求Bob的密码只能通过快递传给Alice呢?如果Bob直接传密码给Alice,H如果嗅探到这个快递,那H也知道密码了...转载 2018-06-08 21:07:10 · 117 阅读 · 0 评论 -
十大开发常用算法
第一快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一...转载 2018-08-15 19:38:35 · 263 阅读 · 0 评论 -
8大排序算法图文讲解
from : http://www.jcodecraeer.com/a/chengxusheji/shejimoshi/2015/0527/2941.html 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!转自:http://ww...转载 2018-08-20 18:54:22 · 119 阅读 · 0 评论 -
图解排序算法(二)之希尔排序
希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越...转载 2018-08-20 19:12:08 · 141 阅读 · 0 评论 -
堆排序图片详解
堆排序实例首先,建立初始的堆结构如图:然后,交换堆顶的元素和最后一个元素,此时最后一个位置作为有序区(有序区显示为黄色),然后进行其他无序区的堆调整,重新得到大顶堆后,交换堆顶和倒数第二个元素的位置…… 堆排序分析 堆排序方法对记录数较少的文件并不值得提倡,但对n较大的文件还是很有效的。因为其运行时间主要耗费在建初始堆和调整建新堆时进行的反复“筛选”上。...转载 2018-08-23 19:27:29 · 297 阅读 · 0 评论 -
堆排序详解
基本概念:要了解堆排序,首先要了解什么是堆,要了解堆,还要先了解什么是完全二叉树。 一、什么是完全二叉树?完全二叉树(complete binary tree)有严格的形状要求:从根节点起每一层从左到右填充。一棵高度为d的完全二叉树除了d-1层以外,每一层都是满的。底层叶节点集中在左边的若干位置上。完全二叉树如下图: 二、什么是堆?堆实际上是一棵完全二叉树,其任...转载 2018-08-23 19:40:17 · 266 阅读 · 1 评论 -
快速排序 过程图解
注意:此文为转载文章,原文地址为:http://www.cnblogs.com/ahalei/p/3568434.html 原作者:啊哈磊 这是我见过的解释快速排序最好的文章,分享如下: 假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是...转载 2018-08-21 21:23:14 · 1674 阅读 · 0 评论 -
php实现快速排序
首先我们要理解一下快速排序的原理:找到当前数组中的任意一个元素(一般选择第一个元素),作为标准,新建两个空数组,遍历整个数组元素,如果遍历到的元素比当前的元素要小,那么就放到左边的数组,否则放到右面的数组,然后再对新数组进行同样的操作,不难发现,这里符合递归的原理,所以我们可以用递归来实现。使用递归,则需要找到递归点和递归出口:递归点:如果数组的元素大于1,就需要再进行分解,所以我...转载 2018-08-21 21:48:38 · 73 阅读 · 0 评论 -
PHP实现堆排序
经验工作了,面试我工作这家公司时被技术面打击得不行,因为自己的数据结构等基础学得实在太差,虽然原来是想做设计师的说。。。不过看在PHP写得还凑合的份上能来实习了,但还是决心恶补一下基础。 其实自己之前也确实感觉到了基础的重要性,一些比较深的东西都比较底层,不学好根本没法进行。像我之前用PHP做websocket,就牵扯到数据包、数据帧等概念,搞不清楚,连数据都没法处理,还得后来补。所以我准备重...转载 2018-08-24 23:31:56 · 106 阅读 · 0 评论 -
十大编程算法助程序员走上高手之路
分类 编程技术算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and co...转载 2018-08-24 23:33:21 · 104 阅读 · 0 评论 -
计算机专业的数学应学到什么水平?应该学习数学的那些分支?
本人是数学系的, 但其实真正的爱好是计算机. 当年报志愿的时候不知听谁说了句, 学计算机, 想搞软件就去学数学, 想搞硬件就去学物理, 然后就报了数学. 在数学系, 感觉思维确实受到了训练, 但所学的课程却大多与计算机没什么"直接"联系. 要真的搞计算机, 还是需要自己多折腾计算机的课程, 还有多实践. 其实我觉得在计算机中用到数学, 主要是设计,选择和分析算法的时候会用得到.如果你只是想"设计"...转载 2019-04-19 17:30:49 · 9481 阅读 · 1 评论