6
next_permutation 함수의 시간 복잡성을 알고 싶었습니다. 코드도 볼 수 있습니까?C++에서 std :: next_permutation() 함수의 시간 복잡도는 무엇입니까?
next_permutation 함수의 시간 복잡성을 알고 싶었습니다. 코드도 볼 수 있습니까?C++에서 std :: next_permutation() 함수의 시간 복잡도는 무엇입니까?
는 http://www.sgi.com/tech/stl/next_permutation.html를 참조하십시오
선형을. 최대 (마지막 - 처음)/2 스왑.
소스 코드를 보려면 시스템의 STL 헤더 파일을 살펴보십시오. 유닉스 계열 시스템에서는 /usr/include/c++/4.1.2/bits/stl_algo.h
과 같은 곳을 찾아야 할 것입니다.
실제로 선형보다 낫습니다. 그것은 상각 된 O (1)입니다 - 즉, 그것을 n이라 부르면! 시간은 n * n이 아닌 O (n!) 연산 만 필요합니다. [이 질문] (http://stackoverflow.com/questions/4973077/the-amortized-complexity-of-stdnext-permutation)을 참조하십시오. – ShreevatsaR