
C/C++算法
redOrange_
小白
展开
-
快速排序学习
介绍快速排序可能是应用最广泛的排序算法了,快速排序流行的原因是它实现简单,适用于各种不同的输入数据且在一般应用中比其他算法都要快的多。一般的情况下时间复杂度为 O(N*ln(n))但相对来说,快速排序排序速度较快,但是不稳定,最坏的情况下,时间复杂度为O(N^2)基本算法快速排序是一种分治的排序算法,将一个数组分成两个子数组,将两部分独立地进行排序。快速排序和归并排序是互补的:a、 归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将数组排序,而快速排序将数组排序的方式则原创 2020-10-16 21:31:15 · 118 阅读 · 0 评论 -
二分查找算法小结
二分查找算法小结#include #include using namespace std;/*二分查找a想一个1~1000之间的数,B来猜,a只能回答是或否怎样才能问的问题数最小*//* 写一个函数BinarySearch //(int a[],int size,int p)如果找到返回其坐标,如果找不到返回-1*/int BinarySearch (int a[]...原创 2019-08-02 18:28:16 · 268 阅读 · 0 评论 -
快速排序
*/*快速排序数组排序任务可以如下完成1、设k=a[0],将k挪到适当位置,使得比k小的元素都在k左边,比k大的元素都在k右边,和k相等的,不关心k左右出现即可(O(n)时间完成)2、把k左边的部分快速排序3、把k右边的部分快速排序*/#includeusing namespace std;void swap(int &a,int &b)//交换变量a,b值{...原创 2019-09-21 23:38:54 · 94 阅读 · 0 评论