
算法
小小鬼谷子
空谷幽兰
展开
-
直接插入排序
直接插入排序思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^2),空间复杂度为O(1)。原创 2015-06-26 13:52:58 · 409 阅读 · 0 评论 -
快速排序算法
算法的思想:快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列,故可以理解为通过设置一个岗哨,每次跟这个岗原创 2015-06-25 15:28:50 · 359 阅读 · 0 评论 -
希尔排序
写了一个类似希尔排序的算法,但是不是希尔排序的算法,代码如下: /** * 希尔排序 * @param arr */ public void shellSort(int[] arr){ int step = arr.length / 2; while(step>=1){ for(int i=0; i+step < arr.length; i++){ i原创 2015-06-30 13:46:28 · 254 阅读 · 0 评论 -
归并排序
1.思想:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。2.归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列原创 2015-06-29 13:59:21 · 313 阅读 · 0 评论 -
对称加密与非对称加密
原创地址:http://www.cnblogs.com/jfzhu/p/4020928.html(一)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。转载 2017-02-10 14:17:47 · 284 阅读 · 0 评论