(面经总结)一篇文章带你整理面试过程中常考的九大排序算法

文章目录

    • 一、二分插入排序
      • 1. 原理
      • 2. 代码
    • 二、冒泡排序
      • 1. 原理
      • 2. 代码
    • 三、插入排序算法
      • 1. 原理
      • 2. 代码
    • 四、快速排序算法
      • 1. 原理
      • 2. 代码
    • 五、希尔排序
      • 1. 原理
      • 2. 代码
    • 六、归并排序
      • 1. 原理
      • 2. 代码
    • 七、桶排序
    • 八、基数排序
    • 九、堆排序
      • 1. 原理
      • 2. 代码
    • 十、总结
      • 1. 算法分类
      • 2. 性能分析

一、二分插入排序

首先必须是排好序的数组,然后通过二分查找,找到合适的位置,插入

1. 原理

二分查找算法又叫作折半查找,要求待查找的序列有序,每次查找都取中间位置的值与待查关键字进行比较,如果中间位置的值比待查关键字大,则在序列的左半部分继续执行该查找过程,如果中间位置的值比待查关键字小,则在序列的右半部分继续执行该查找过程,直到查找到关键字为止,否则在序列中没有待查关键字

如图5-1所示,在有序数组[3,4,6,20,40,45,51,62,70,99,110]中查找key=20的数据,根据二分查找算法,只需查找两次便能命中数据。这里需要强调的是,二分查找算法要求要查找的集合是有序的,如果不是有序的集合,则先要通过排序算法排序后再进行查找。
(面经总结)一篇文章带你整理面试过程中常考的九大排序算法_第1张图片

2. 代码

public 

你可能感兴趣的:(冲刺大厂之面经总结,面经,排序算法,二分插入,冒泡,快速)