我一直在试图分析这个用于排列生成的C ++程序。我在算法中知道时间复杂度是O(n * n!)和O(n)因为它需要它来打印排列。有人可以进一步解释下面的实施分析吗?
// permutation generator
#include <iostream> // std::cout
#include <algorithm> // std::next_permutation, std::sort
int main () {
int myints[] = {1,2,3};
std::sort (myints,myints+3);
do {
std::cout << myints[0] << ' ' << myints[1] << ' ' << myints[2] << '\n';
} while ( std::next_permutation(myints,myints+3) );
return 0;
}