美文网首页
二分搜索和快速排序

二分搜索和快速排序

作者: 风也醉 | 来源:发表于2019-06-16 13:04 被阅读0次

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

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

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

二分搜索法

接下来是QuickSort的类

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

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

结果

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

相关文章

  • 常用的快速排序和二分搜索Java实现

    二分搜索 常用的两个东西,排序和查找,现在就是来主要说说查找中的一种二分搜索和排序中的一种快速排序 一、何为二分搜...

  • Python数据结构 第五章--排序和搜索

    本章目标: (1)了解和实现顺序搜索和二分法搜索。 (2)了解和实现选择排序、冒泡排序、归并排序、快速排序、插入排...

  • 2018-09-26

    算法 二分查找 运行结果 选择排序 运行结果 快速排序 运行结果 广度优先搜索 运行结果 深度优先搜索 运行结果 ...

  • Java实现常见的算法

    主要罗列了常见的选择排序,冒泡排序和快速排序,还有二分查找的算法。 选择排序 冒泡排序 快速排序 二分查找 注意二...

  • 二分搜索和快速排序

    快速排序(quick sort)相比经典的选择,插入,冒泡排序来说,是非常快的,虽然快速排序法在最差状况下可以达O...

  • 算法汇总

    关于算法: 基础技巧:分治、二分、贪心排序算法:快速排序、归并排序、计数排序搜索算法:回溯、递归、深度优先遍历,广...

  • algorithm md

    算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...

  • 算法与数据结构简介

    0x01 算法 基础技巧:分治、二分、贪心 排序算法:快速排序、归并排序、计数排序 搜索算法:回溯、递归、深度优先...

  • 算法 - 1

    1. 快速排序1.1 学习分而治之1.2 快速排序的Demo方法1.3 快速排序的图解 2. 二分查找2.1 二分...

  • javascript 算法

    快速排序 冒泡排序 二分查找

网友评论

      本文标题:二分搜索和快速排序

      本文链接:https://www.haomeiwen.com/subject/vmtgfctx.html