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