
算法
文章平均质量分 70
夜风0804
IT、技术、宅男、屌丝
展开
-
简单选择排序
简单选择排序法 1. 工作原理 找到第一个,依次往后 1.1 第一个元素和后面元素比较,第一个较小则交换位置,直到最后 1.2 从第二个开始重复上面步骤,直到结束 2. 时间复杂度 O(n^2) 3. 算法稳定性 选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选原创 2014-10-22 11:32:58 · 292 阅读 · 0 评论 -
Shell排序(希尔排序)
Shell排序(希尔排序) 希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2 设要排序的数组是A[0]……A[N-1],首先任意选取原创 2014-10-22 13:11:01 · 490 阅读 · 0 评论 -
基数排序
基数排序 (radix sort)则是属于“分配式排序”(distribution sort),基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳原创 2014-10-22 16:14:52 · 408 阅读 · 0 评论 -
冒泡排序法
冒泡排序法 1. 工作原理 找到最后一个,依次往前 1.1 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 1.2 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 1.3 针对所有的元素重复以上的步骤,除了最后一个。 1.4 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 2. 时间复杂度 O原创 2014-10-22 11:18:57 · 562 阅读 · 0 评论 -
堆排序
template void MaxHeap(T *arr, int size, int pos) { int lchild = pos * 2 + 1; int rchild = lchild + 1; while (rchild < size) { if (arr[pos] <= arr[lchild] && arr[pos] <= arr[rchild]) return;原创 2014-10-22 10:47:53 · 266 阅读 · 0 评论 -
快速排序
快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通原创 2014-10-22 12:01:57 · 354 阅读 · 0 评论 -
插入排序
插入排序 1. 工作原理 插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外,而第二部分就只包含这一个元素。在第一部分排序后,再把这个最后元素插入到此刻已是有序的第一部分里的位 区分有序区、无序区,逐步扩大有序曲直到完成 R[1,...,n], 1.1 有序区R[1,1],无序区R[2,N] 1.2 将R[2]插入有序区,有序R[1,2]、无序区R原创 2014-10-22 11:46:09 · 256 阅读 · 0 评论 -
归并排序
归并排序 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。 1. 工作原理 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。值得注意的是归并排序是一种稳定的排序方法。 将已有序的子序列合并,得到完全有序的序列;即原创 2014-10-22 13:23:06 · 274 阅读 · 0 评论 -
常用加密算法
DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryp原创 2014-11-06 16:19:42 · 517 阅读 · 0 评论