C++11 比较'的两种实现的复杂性;组合';算法

C++11 比较'的两种实现的复杂性;组合';算法,c++11,time-complexity,C++11,Time Complexity,考虑以下两种查找c(n,k)的实现,即一次查找选择n对象k的方法的数量。两种算法的时间复杂度比较如何 我已经实现了动态编程实现,并尝试了一些测试用例,比如C(100,25),它运行得非常快。我认为这个解决方案的时间复杂度是O(n^2) 另一种实现是使用 > PrimePrime< /C> >或 NExtx置换> /Cord>,在C++ STL库中可用,取自于原始。这个函数的文档中说它在线性时间内工作,最大距离为(第一个,最后一个)之间的一半,因此它位于外部的循环将使整个复杂度再次达到n平方?(我

考虑以下两种查找
c(n,k)
的实现,即一次查找选择
n
对象
k
的方法的数量。两种算法的时间复杂度比较如何

我已经实现了动态编程实现,并尝试了一些测试用例,比如C(100,25),它运行得非常快。我认为这个解决方案的时间复杂度是O(n^2)

另一种实现是使用 > PrimePrime< /C> >或 NExtx置换> /Cord>,在C++ STL库中可用,取自于原始。这个函数的文档中说它在线性时间内工作,最大距离为(第一个,最后一个)之间的一半,因此它位于外部的循环将使整个复杂度再次达到n平方?(我不确定这部分,这是我需要帮助的地方)

size\u t组合\u dp(int n,int k){
向量网格(n+1,向量(k+1,0));
//基本情况

对于(int i=0;i,在第二个示例中,循环运行
c(n,k)
次,在
n
中为指数。在第二个示例中,循环运行
c(n,k)
次,在
n
中为指数。