置换生成算法分析

时间:2018-05-09 23:32:11

标签: c++ algorithm permutation analysis

我一直在试图分析这个用于排列生成的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;
}

0 个答案:

没有答案