问题描述:无序找第k小的数?1、解法一 先排好序,再找第k小个数;返回A[k-1];此解法的时间复杂度为:O(nlogn);2、解法二 情况一:k = 1 和 k = n 就是找数组的最小值和最大值; 情况二:找出中位数3、找中位数(随机选择算法) 利用快速排序的原理,一轮排序,有2种情况: if i = k-1;返回a[i]; 
1、希尔排序 (1)、算法思想:希尔排序是插入排序的改良算法,增加了一个步长step,每次插入排序使步长为step的元素形成一个递增序列,然后缩小增量,继续插入,直至step=1时,就是插入排序了,此时排序完成; 算法模型: (2)、代码实现#include<stdio.h> void insertSort(int *a,&nb
1、二分查找 (1)、二分查找递归实现#include<stdio.h> #define NOT_FOUND -1; int binSearch(int *a, int head, int tail, int key);
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号