摘要:
归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表/// <summary> /// 归并排序之归:归并排序入口 /// Updated by Lihua at 05/06/2009 /// </summary> /// <param name="data">无序数组</param> /// <returns>有序数组</returns> /// & 阅读全文
摘要:
希尔排序是插入排序的一种,时间性能优于直接插入排序,是一种不稳定的排序,时间复杂度为 O(nlogn)。序列分割方法:将相隔某个增量 h 的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成。public class ShellSort { public static void Sort(int[] array) { int increment = array.Length; do { increment = increment / 3 + 1; // 设置增量 Sort(array, increment); } while (increment 阅读全文