摘要:
选择排序 选择排序是一种直观的排序算法.它的原理是每一次从待排序中选出最小或最大的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完.选择排序是不稳定的排序方法(比如:[5,5,2],在第一次就将第一个5与3交换了,导致第一个5挪到第二个5后面)。实现:void SelectSort(ty 阅读全文
摘要:
快速排序 思想: 对冒泡排序的一种改进 通过一趟排序将要排序的数据分割成独立其中一部分的所有数据都比另外一部分小的两部分,然后再按此方法对这两部分分别进行快速排序, 个过程可以recursion(递归)进行,以此达到整个数据成为有序序列. 是否稳定: 不稳定,多个相同的值得相对位置也许会在算法结束的 阅读全文
摘要:
基数排序(桶排序)基本思想: 是将阵列分别有限数量的桶子里。每个桶子再个别排序。桶排序是鸽巢排序的一种归纳结果。当要被排序的数值是均匀分配的时候,桶排序使用线性时间(O(n));桶排序的缺点: 1)首先是空间复杂度比较高,需要额外开销大。排序有两个数组空间开销,一个存放待排序数组,一个就是所谓的桶, 阅读全文
摘要:
堆排序 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位制定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个结点的值都不大于其父节点的值。在数组的非降序排序排序中,需要使用的就是大根堆,因为根据大根堆的要 阅读全文
摘要:
归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有有序的自序序列归并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并 阅读全文
摘要:
shell(希尔排序) 希尔排序(Shell Sort)是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL. Shell于1959年提出而得名。 希尔排序是记录按下标的一定增量分组,对每组使用直接排序算法排序;随着增量逐渐减少,每组包 阅读全文
摘要:
1.管道(pipe)及有名管道(named pipe) 管道可用于具有亲缘关系进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 2.信号(signal) 信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生。 3.消息队列(mes 阅读全文