尖括号在伪代码的return语句中意味着什么?

时间:2012-05-10 09:44:55

标签: pseudocode

我的讲师在他关于n-Queens问题的课程笔记中提供了一些伪代码。不幸的是,我很难理解它在Java中的实现。有问题的伪代码是:

Queens (currentBoard , currentRow, n) :
    if currentRow == n:
        if currentBoard is legal:
            return <currentBoard, 1>
        else:
            return <currentBoard, 0>
    else:
        for k = 1..n:
            newBoard = currentBoard + <currentRow+1, k>
            board [k], success[k] = Queens(newBoard, currentRow+1, n)
        kmax = index of max(success[k])
        return <board[kmax], success[kmax]>

我理解的大部分内容,但我不确定我对尖括号中的伪代码部分有什么意义。

1 个答案:

答案 0 :(得分:4)

这里的尖括号只是说,返回了多个“对象”。

所以,例如,这段代码

return <currentBoard, 1>

一方面返回currentBoard个对象,另一方面返回一个简单的1

在此代码中

board [k], success[k] = Queens(newBoard, currentRow+1, n)

你可以看到两个对象都存储在不同的变量中,登录到board[k],数字进入success[k]