快速排序最好的情况是每次把上一次的数组平均分成两个子数组。
设数组总数一共为n,如果把这n个数每次分成2半最后每个数组只包含一个元素,假设要分k次,则2的k次方=n,解得k=log2 n(log以2为底对n取对数).也就是说要分log2 n次,而每次都是处理n个数据。所以总的时间复杂度为O(n*log2 n)。
快速排序最好的情况是每次把上一次的数组平均分成两个子数组。
设数组总数一共为n,如果把这n个数每次分成2半最后每个数组只包含一个元素,假设要分k次,则2的k次方=n,解得k=log2 n(log以2为底对n取对数).也就是说要分log2 n次,而每次都是处理n个数据。所以总的时间复杂度为O(n*log2 n)。