常见算法插入、归并、冒泡和快速排序,对于数据量较大排序,顾名思义,快速排序最佳啦。
很多人包括我,只知道快速排序很快,但是它有什么特殊之处,算法是怎么实现,以及真正程序在运行时消耗时间是多少,和其它算法比,差多少呢?
我用JAVA语言简单实现了上述几种算法,小弟经验尚浅,纯碎只是玩玩而已,在算法逻辑不是最佳,然后用5w个整型数组分别对各算法测试,运行结果如下:
冒泡排序消耗时间:
运行时间:9464 毫秒
运行时间:9473 毫秒
运行时间:9075 毫秒
运行时间:9041 毫秒
运行时间:9108 毫秒
运行时间:9042 毫秒
运行时间:8989 毫秒
运行时间:9063 毫秒
运行时间:9085 毫秒
运行时间:9128 毫秒
插入排序消耗时间:
运行时间:4339 毫秒
运行时间:4286 毫秒
运行时间:4069 毫秒
运行时间:4068 毫秒
运行时间:4075 毫秒
运行时间:4060 毫秒
运行时间:4086 毫秒
运行时间:4064 毫秒
运行时间:4051 毫秒
运行时间:4071 毫秒
归并排序消耗时间:
运行时间:20 毫秒
运行时间:17 毫秒
运行时间:16 毫秒
运行时间:17 毫秒
运行时间:16 毫秒
运行时间:17 毫秒
运行时间:16 毫秒
运行时间:16 毫秒
运行时间:16 毫秒
运行时间:16 毫秒
快速排序消耗时间:
运行时间:14 毫秒
运行时间:9 毫秒
运行时间:8 毫秒
运行时间:9 毫秒
运行时间:9 毫秒
运行时间:9 毫秒
运行时间:8 毫秒
运行时间:8 毫秒
运行时间