二分搜索和快速排序

快速排序(quick sort)相比经典的选择,插入,冒泡排序来说,是非常快的,虽然快速排序法在最差状况下可以达O(n^2),但是在多数的情况下,快速排序法的效率表现是相当不错的。快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。

排好顺序后就可以搜索想要的数据,这时就可以用二分搜索法快速搜索!二分搜索法前提是数据是有序的,在二分搜寻法中,从数列的中间开始搜寻,如果这个数小于我们所搜寻的数,由于数列已排序,则该数左边的数一定都小于要搜寻的对象,所以无需浪费时间在左边的数;如果搜寻的数大于所搜寻的对象,则右边的数无需再搜寻,直接搜寻左边的数。

所以在二分搜寻法中,将数列不断的分为两个部份,每次从分割的部份中取中间数比对。下面是代码实现和结果的截图!

二分搜索法

接下来是QuickSort的类

快速排排序类-1
快速排排序类-2

结果显示截图:可以看出找到了数字6的位置 是在排序后的 第五个

结果

到此结束,如果您喜欢的话就动动小手点个赞吧!谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容