快速排序
夕颜_hd99
记录自己学习的过程,如果同时能帮到别人我也很开心
展开
-
舍伍德类型概率算法
舍伍德类型概率算法舍伍德类型概率算法的特点:总能求得问题的一个解,且所求得的解总是正确的。【问题描述】设计一个快速排序的舍伍德类型概率算法。【问题解答】快速排序算法的关键在于一次划分中选择合适的划分基准元素,如果基准是序列中最小的(或最大的)元素,则一次划分后得到的两个子序列不均衡,使得快速排序的时间性能降低。舍伍德型概率算法在一次划分之前根据随机数在待划分序列中随机确定一个元素作为基准,并把它与第一个元素交换,则一次划分后得到期望均衡的而两个子序列,从而使算法的行为不受待排序列的不同输入实例的原创 2020-10-25 20:53:38 · 3277 阅读 · 0 评论 -
寻找一个无序序列中第k小的元素
寻找一个无序序列中第k小的元素【问题求解】假设无序序列存放在a[0...n-1]中,若将a递增排序,则第k小的元素为a[k-1]。采用类似快速排序的思想。源代码如下:#include <iostream>using namespace std;//寻找一个序列中第k小的元素//运用快速排序和二分查找相结合的方法进行查找int SearchK(int a[],int low,int high,int k) { //这里是利用快速排序的原理 int i = low, j原创 2020-10-04 15:57:35 · 3218 阅读 · 0 评论