美文网首页
常用排序查询算法汇总

常用排序查询算法汇总

作者: 進撃的Friday | 来源:发表于2018-05-26 17:59 被阅读0次

一、排序算法

1.  选择排序

      选择排序基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。详细解释见:选择排序实现

选择排序实现

2.  冒泡排序

        冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。详细解释见:冒泡排序实现

冒泡排序实现

3.  插入排序

      直接插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。详细解释见:插入排序实现

插入排序实现

4.  快速排序

      快速排序基本思想是先选择基准数,把所有小于基准数的都移到左边,把所有大于基准数的都移到记基准数的右边。然后再对左边数组和右边数组进行同样的操作,最后整个数组就都排好序了。

快速排序实现一:快速排序实现一

快速排序实现二:快速排序实现二

快速排序实现

5.  归并排序

        归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

详细实现见:归并排序实现

图解归并排序:图解归并排序

6.  希尔排序

7.  堆排序

图解堆排序:图解堆排序

8.  计数排序

      技数排序很简单,我简单举例解释一下:有一个数组都>0,并且知道最大值,要求对其排序。我们可以初始化一个int array[MAX] = {0}. 然后遍历数组得到每一个value,若array[value]++;最后遍历array,就输出值非0的下标,就是排好序的数组。

9.  基数排序

        基数排序就是对数字按位进行排序,比如按个位排序,再按百位排序,再按千位,最后就可以得到整个有序数组。基数排序也是用空间代替了比较。详细实现见:基数排序实现

10.  桶排序

        桶排序是在技数排序的基础而来,具体实现见:桶排序实现

11.  外部排序外部排序二

        以上数据量不大,一次性在内存中可以执行完的都为内部排序。外部排序是需要内存和磁盘相结合的形式进行的排序形式。

外部排序详解一:外部排序

外部排序详解二:外部排序二

二、查找算法

1. 二分查找

    二分查找是在一个已经排好序的数组上进行查找,每次取中间的值,小于则从左边继续查找,大于则从右边继续查找,等于则直接返回中间值。

2. 二叉树

    二叉树本身用处不大,主要都是在二叉树上的优化,二叉树讲解:二叉树

3. 二叉查找数

      二叉查找树详细实现:二叉查找树

4. 平衡二叉树

      二叉查找树最差情况下可能所有的子节点全部偏向一边,而平衡二叉树是平衡的二叉查找树,最差情况也是平衡的,不会出现完全导向一边的情况。平衡二叉树实现:平衡二叉树

5. 平衡2-3数

    平衡二叉树重建平衡时可能非常复杂,2-3树是对齐的优化。具体实现:平衡2-3树

6. 红黑树

      红黑树是对平衡2-3树的一种实现,具体实现:红黑树

7. B树

附带:B树讲解视频

8. B+树

附带:视频讲解

9. B*树

附带:视频讲解

10. 哈希查找

相关文章

  • 常用排序查询算法汇总

    一、排序算法 1. 选择排序 选择排序基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为...

  • 数据结构与算法

    常见排序算法 堆排序 算法大全 算法大汇总

  • 算法04-棋牌游戏常用排序算法

    算法04-棋牌游戏常用排序算法 一、介绍 棋牌游戏常用排序算法包括:链式基数排序、插入排序、希尔排序。 二、链式基...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • 常用的排序算法

    常用的排序算法 常用的排序算法插入排序折半插入排序shell 排序冒泡排序选择排序快速排序基数排序归并排序堆排序K...

  • 常用算法

    常用排序算法

  • 常见排序算法

    常用排序算法

  • 全面介绍9种常用的排序算法

    本篇给大家介绍几种软件工程中常用的排序算法 所有排序算法的核心的代码都在《常用排序算法核心代码》[https://...

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

网友评论

      本文标题:常用排序查询算法汇总

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