Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Arrays 围绕数组中的最大值进行分区的算法的最佳和最坏情况是什么?_Arrays_Algorithm_Pivot_Partitioning_Partition - Fatal编程技术网

Arrays 围绕数组中的最大值进行分区的算法的最佳和最坏情况是什么?

Arrays 围绕数组中的最大值进行分区的算法的最佳和最坏情况是什么?,arrays,algorithm,pivot,partitioning,partition,Arrays,Algorithm,Pivot,Partitioning,Partition,我得到了一个算法,它取数组A中的最大项(我们称之为m)并在其周围进行分区,使得所有小于m的项都放在集合A1中,所有大于或等于m的项都放在集合A2中。最后,它递归地在A1上运行,并在A2上使用InsertionSort。它在A中连接A1和A2后终止 首先,我真的不明白为什么它在A2上使用insertionSort(我的意思是,m是最大值,所以A2只包含等于最大值的元素)。无论如何,其中一个问题是如何找到最坏和最好的情况以及它们的时间复杂性。至于最坏情况下的时间复杂度,我认为是O(n^2),但我不太

我得到了一个算法,它取数组A中的最大项(我们称之为m)并在其周围进行分区,使得所有小于m的项都放在集合A1中,所有大于或等于m的项都放在集合A2中。最后,它递归地在A1上运行,并在A2上使用InsertionSort。它在A中连接A1和A2后终止

首先,我真的不明白为什么它在A2上使用insertionSort(我的意思是,m是最大值,所以A2只包含等于最大值的元素)。无论如何,其中一个问题是如何找到最坏和最好的情况以及它们的时间复杂性。至于最坏情况下的时间复杂度,我认为是O(n^2),但我不太确定(它应该像SelectionSort,对吧?),至于其余的我真的不知道