
算法
OpenLD
金融圈程序员,目前从事Android客户端开发
展开
-
java排序算法一(插入排序法)
插入排序算法 比如下面的一个数组: 12,8,2,7,15,6,4,11 假如从小到大进行排序,从第二个元素开始,比较其与前面子列中元素的大小,如果找到第一个比它小的元素那么就将它插入到该元素之后,以此类推。第一次的结果:8,12,2,7,15,6,4,11对应的操作:8与12进行过比较,8小于12,于是将8放到原创 2016-09-24 17:34:56 · 1280 阅读 · 2 评论 -
java排序算法二(谢尔Shell排序法)
谢尔排序 第一个对插入排序做了充分改进的算法是谢尔排序(ShellSort),尽管谢尔排序算法在已知的排序算法中不是最快的,但是其是平方时间的算法,代码只比插入排序的代码长一点。 谢尔排序的思想是避免大量的数据移动,先比较那些距离稍远的元素,然后比较那些距离较近的元素,以此类推,逐步逼近基本的插入排序。谢尔排序使用称为增量序列(increment seque原创 2016-09-24 18:33:31 · 658 阅读 · 0 评论 -
java排序算法三(归并排序算法)
归并排序 递归可以用来开发亚平方时间的算法。具体的,分治算法把问题拆分为两个一半规模的问题递归解决,每个自问题的开销是O(N),结果整个算法就是O(NlogN)的。归并排序就是这样的算法。至少在理论上,归并算法提供了比谢尔排序算法生成的限度更好的限度值。 归并排序算法包括三个步骤:1.如果待排序的项数为0或1,返回2.对等分的两部分分别递归排序3原创 2016-09-24 19:28:18 · 370 阅读 · 0 评论 -
密钥交换算法DH(Java实现)
密钥交换算法——DH1.简述 1976年,W.Diffie和M.Hellman在发表的论文中提出了公钥加密算法思想,但当时并没有给出具体的实施方案,原因在于没有找到单向函数(也就是消息摘要算法),但在该论文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法(简称为DH算法)。该算法的目的在于让消息的收发双方可以在安全的条件下交换密钥,以备后续加密/原创 2016-11-10 15:47:36 · 16606 阅读 · 14 评论 -
典型非对称加密算法RSA(Java)
典型非对称加密算法RSA DH算法的诞生为后续非对称加密算法奠定了基础,较为典型的对称加密算法(如EIGamal、RSA、ECC算法等)都是在DH算法提出后相继提出的,而且其算法核心都源于数学问题。 RSA算法基于大数因子分解难题,而EIGamal算法和ECC算法则是基于离散对数难题。1.简述 1978年,美国麻省理工学院(MIT)的Ron Rivest、Adi原创 2016-11-10 20:01:47 · 1427 阅读 · 0 评论 -
AES算法的Java实现,直接对String操作
今天用Java写了一下AES算法,该算法完全对String进行操作,不需要在工具类之外对byte[]和String进行互转。大大方便了使用。原创 2017-05-09 11:52:22 · 1030 阅读 · 0 评论