算法
RonTech
执着、认真;喜欢技术,但更热爱技术+行业;热爱生活,但更喜欢与人交往;喜欢学习,但更注重与人分享。
展开
-
一致性Hash(Consistent Hash)
一致性Hash算法简介一致性Hash算法是在1997年由麻省理工提出的一种分布式Hash实现算法,设计的目标是为了解决英特网中的热点问题。一致性Hash算法提出了在动态变化的Cache环境中,判定Hash算法好坏的四个定义。平衡性(Balance):平衡性是指哈希的结果能够尽可能的分布到所有的节点中去,这样从算法上解决负载均衡的问题。单调性(monotonicity):单调性是指在新增或者删减节原创 2017-10-27 12:20:56 · 663 阅读 · 0 评论 -
插入排序和希尔排序(Java实现)
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。希尔排序算法是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;最后增量为 1 ,这样记录移动次数大大减少,提高了排序效率。希尔排序对增量序列的选择没有严格规定。原创 2017-11-09 15:21:11 · 1549 阅读 · 0 评论 -
Java基础之冒泡排序算法
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。原创 2017-10-24 18:39:23 · 427 阅读 · 0 评论 -
快速排序算法(Java实现)
1、基本思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2、算法步骤获得待排序数组选取合适的数字作为排序基准数字(一般情况下选取数组或者子数组的第一个数字)。将待排序数组中比基准数字小的放在基准数字的左边得到sub1,比基准数...原创 2017-10-25 14:09:37 · 956 阅读 · 0 评论 -
归并排序算法(Java实现)
归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。原创 2017-10-26 18:17:37 · 381 阅读 · 0 评论 -
选择排序算法
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 常见的选择排序包括:简单选择排序,树形选择排序,堆排序。原创 2017-11-03 18:06:21 · 622 阅读 · 0 评论 -
区块链-密码学与安全技术
本文主要总结了密码学与安全领域中的一些核心问题和经典算法。通过阅读本文内容,相信读者已经对现代密码学的发展状况和关键技术有了初步了解。掌握这些知识,对于帮助理解区块链系统如何实现隐私保护和安全防护都很有好处。现代密码学安全技术在设计上大量应用了十分专业的现代数学知识,如果读者希望成为这方面的专家,则需要进一步学习并深入掌握近现代的数学科学,特别是数论、抽象代数等相关内容。可以说,密码学安全学科是没有捷径可走的。原创 2017-11-29 17:14:51 · 23086 阅读 · 0 评论 -
Openssl生成RSA证书,Java实现公钥证书加密,私钥证书解密
1、证书生成过程生成RSA私钥:genrsa -out private_key.pem 1024把RSA私钥转换成PKCS8格式pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM –nocrypt生成RSA公钥rsa -in private_key.pem -pubout -out rsa_public_key...原创 2019-01-02 16:18:56 · 2227 阅读 · 0 评论