Java教程

各个常见算法的时间复杂度

本文主要是介绍各个常见算法的时间复杂度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

哈希表的插入时间复杂度平均O(1),最好O(1),最差O(n)。
排序链表的插入时间复杂度平均O(n),最好O(1),最差O(n)。
数组的查询时间复杂度平均O(n),最好O(1),最差O(n)。
二叉树的查询时间复杂度平均O(logn),最好O(logn),最差O(n)。
二叉查找树的时间复杂度平均O(logn),最好O(logn),最差O(logn)。
二叉平衡树的时间复杂度平均O(logn),最好O(logn),最差O(logn)。
红黑树的时间复杂度平均O(logn),最好O(logn),最差O(logn)。
快排的时间复杂度平均O(nlogn),最好O(nlogn),最差O(n2)。
冒泡排序的时间复杂度平均O(n2),最好O(n),最差O(n2)。
插入排序的时间复杂度平均O(n2),最好O(n),最差O(n2)。
选择排序的时间复杂度平均O(n2),最好O(n2),最差O(n2)。
归并排序的时间复杂度平均O(nlogn),最好O(nlogn),最差O(n*logn)。
希尔排序的时间复杂度最好O(n),最差O(n2)。

这篇关于各个常见算法的时间复杂度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!