后跟踪方法的n皇后复杂时间是多少?

时间:2015-03-18 21:05:47

标签: time-complexity tracking back n-queens

enter image description here

通过 Back Tracking 方法,n皇后的复杂性时间是多少? 皇后学位的数量是多少?

使用以下算法:

void queens (index i)
{
    index j;
    if (promising(i))
        if (i == n)
            cout << col[1] through col[n];
        else
            for (j = 1; j <= n; j++) {
                col[i + 1] = j;
                queens(i + 1);
            }
}

bool promising (index i)
{
    index k;
    bool Switch;
    k = 1;
    Switch = true ;
    while (k < i && switch) {
        if (col[i] == col[k] || abs(col[i] – col[k] == i - k))
            switch = false;
        k++;
    }
    return Switch;
}

有什么建议吗?

0 个答案:

没有答案