Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time complexity 快速排序的最坏情况复杂性是什么?_Time Complexity_Quicksort - Fatal编程技术网

Time complexity 快速排序的最坏情况复杂性是什么?

Time complexity 快速排序的最坏情况复杂性是什么?,time-complexity,quicksort,Time Complexity,Quicksort,假设第一个元素始终被选为轴心元素,如果第一个元素被选为用于分区的轴心元素,您能详细说明最坏情况发生的位置及其时间复杂性吗 在本例中,快速排序显示了其最糟糕的强制转换复杂性-O(n^2) 更准确地说,当要排序的输入按降序或升序(如果第一个元素是枢轴元素)时,可以观察到快速排序的最坏情况复杂性O(n^2) 出现这种最差性能的原因是,分区后,一个分区的大小为1,另一个分区的大小为n-1 因此,快速排序“n”元素的时间T(n)= 对“n”个元素进行分区所需的时间O(n)+对“n-1”个元素进行快速排序所

假设第一个元素始终被选为轴心元素,如果第一个元素被选为用于分区的轴心元素,您能详细说明最坏情况发生的位置及其时间复杂性吗 在本例中,快速排序显示了其最糟糕的强制转换复杂性-O(n^2)
更准确地说,当要排序的输入按降序或升序(如果第一个元素是枢轴元素)时,可以观察到快速排序的最坏情况复杂性O(n^2)

出现这种最差性能的原因是,分区后,一个分区的大小为1,另一个分区的大小为n-1
因此,快速排序“n”元素的时间T(n)=
对“n”个元素进行分区所需的时间O(n)+对“n-1”个元素进行快速排序所需的时间T(n-1)
所以,T(n)=T(n-1)+O(n)

=>T(n)=O(n^2)

在快速排序中,如果选择第一个元素作为划分的轴心元素,则
在本例中,快速排序显示了其最糟糕的强制转换复杂性-O(n^2)
更准确地说,当要排序的输入按降序或升序(如果第一个元素是枢轴元素)时,可以观察到快速排序的最坏情况复杂性O(n^2)

出现这种最差性能的原因是,分区后,一个分区的大小为1,另一个分区的大小为n-1
因此,快速排序“n”元素的时间T(n)=
对“n”个元素进行分区所需的时间O(n)+对“n-1”个元素进行快速排序所需的时间T(n-1)
所以,T(n)=T(n-1)+O(n)
=>T(n)=O(n^2)