摘要:
1、基本思想:找出已知有序队列中与给定关键字相同的数的具体位置。原理是分别定义三个指针low,high,mid,分别指向待查元素所在范围的下界和上界及区间的中间位置,即mid=(low+high)/2,并让关键字与mid所指的数比较,若相等则查找成功并返回mid,若关键字小于mid所指的数则high 阅读全文
摘要:
1、基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先再各族中进行直接插入排序,然后取第二个增量d2<d1重复上述的分组和排序过程,知道所取的增量dt=1(dt<dt-1<...<2<1),即所有记录放在同一组中进行直接插入排 阅读全文
摘要:
1、基本思想:将无序数组R[1...n]垂直排列,从下往上扫描数组R,对比相邻的两个元素,如果上面的元素值小于下面的值,则调整这两个相邻元素的位置,然后继续向上扫描,直到排好序为止。 2、排序过程: (1)初始化:读取无序数组R[1...n] (2)第一趟扫描:从数组R底部开始向上扫描,依次比较相邻 阅读全文
摘要:
1、快速排序 又称分治算法,分治的基本思想是蒋原问题分解为若干个规模更小但结构与原问题相似的子问题,然后递归地解决这鞋子问题,子问题的结组合为原问题的解。 快速排序是一种不稳定的算法,平均时间复杂度为O(n log n),最差情况是O(n^2),空间复杂度O(log n) (1)基本思想 过程如下: 阅读全文