一、前言
代码如人生!
前几天老师给我们讲算法,主要是排序的算法。正好自己最近在学习java数组的部分,这里也讲如何用算法来实现数组排序。自己通过几天的研究,终于有了点了解,特意总结。
二、八大排序算法
排序的算法有很多,对空间的要求及其时间效率也不尽相同。下面列出了一些常见的排序算法。会在以后的博客中一一介绍。
- 插入排序
- 冒泡排序
- 选择排序
- 快速排序
- 堆排序
- 归并排序
- 基数排序
- 希尔排序
三、时间复杂度
平均时间复杂度
- 插入排序 O(n^2)
- 冒泡排序 O(n^2)
- 选择排序 O(n^2)
- 快速排序 O(n log n)
- 堆排序 O(n log n)
- 归并排序 O(n log n)
- 基数排序 O(n)
- 希尔排序 O(n^1.25)
四、小结
算法就是思想。
可以说面试的时候,算法排序可以算是一个很基础的面试题,这莫多的算法如何能够更好的运用起来,如何能写对代码,就是要通过我们平时的积累,不断的认识。