递归算法也是
O((n choose t)*n)一种分析,它对每个打印的组合收取打印时整个调用堆栈的成本。我们之所以这样做,是因为每次调用
magic(除了两个
O(1)叶子调用where
i< 0,我们可以很容易地取消它们)都会打印出一些内容。
如果您指定打印其真实成本,则此边界最好。否则,我非常确定可以将这两种分析的结果严格化,以
O(n choose t)排除
t > 0使用Knuth4A中的详细信息进行打印。

递归算法也是
O((n choose t)*n)一种分析,它对每个打印的组合收取打印时整个调用堆栈的成本。我们之所以这样做,是因为每次调用
magic(除了两个
O(1)叶子调用where
i< 0,我们可以很容易地取消它们)都会打印出一些内容。
如果您指定打印其真实成本,则此边界最好。否则,我非常确定可以将这两种分析的结果严格化,以
O(n choose t)排除
t > 0使用Knuth4A中的详细信息进行打印。