【JAVA】排序算法总览

来源:互联网 发布:数据挖掘 韩家炜 pdf 编辑:程序博客网 时间:2024/05/17 06:18

一、前言

      代码如人生!

      前几天老师给我们讲算法,主要是排序的算法。正好自己最近在学习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)

四、小结

      算法就是思想。

      可以说面试的时候,算法排序可以算是一个很基础的面试题,这莫多的算法如何能够更好的运用起来,如何能写对代码,就是要通过我们平时的积累,不断的认识。

1 0