在C++中,快速排序(Quick Sort)算法的空間復雜度取決于其實現方式。
原地快速排序(In-Place Quick Sort):在這種實現方式中,快速排序不需要額外的存儲空間,因為它在原始數組上進行操作。因此,空間復雜度為O(1)。
非原地快速排序(Non-In-Place Quick Sort):在這種實現方式中,快速排序可能需要額外的存儲空間來存儲子數組。在最壞情況下,遞歸調用的深度可能達到O(n),其中n是數組的長度。因此,空間復雜度為O(n)。
通常情況下,原地快速排序的實現更為常見,因此空間復雜度為O(1)。然而,在某些情況下,非原地快速排序可能會導致更好的性能。