首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

请问怎么分析算法的时空复杂度

2012-03-13 
请教如何分析算法的时空复杂度以下代码是用递归算法求1~n的数列的全排列,请高手教一下如何分析该算法的时

请教如何分析算法的时空复杂度
以下代码是用递归算法求1~n的数列的全排列,请高手教一下如何分析该算法的时间复杂度和空间复杂度。

C/C++ code
void Permutation(int k, int n, int* perm) {    if (k == n - 1) {        for (int i = 0; i < n; ++i) {            cout << perm[i] << " ";        }        cout << endl;        }    for (int i = k; i < n; ++i) {        swap(perm[i], perm[k]);        Permutation(k + 1, n, perm);                                                 swap(perm[i], perm[k]);    }}


[解决办法]
scaffold,就是帮助你调试程序的一组语句。
时间空间复杂度估计,一种是分析你的程序代码得到。
譬如数组大小,flops计数等。
还有一种,直接监控内存占用和从cpu估计.

热点排行