簡體   English   中英

二維遞歸

[英]2-Dimensional Recursion

我正在為一個類實現一個二維數據結構。 我想要的方法是一個“NxN”對象數組。

所以,

    Cell[][] dataStructure = new Cell[N][N];

我目前的問題是,我對遞歸非常生疏。 每個單元依賴於其左側的單元格輸出,並依賴於其上方的單元格,以創建其輸出。

2-D結構的示例以及輸出如何流入下一個單元

例:

假設標准的X,Y方向,我希望能夠為單元格Cell [X] [Y]調用getOutputX方法,它將遞歸調用Cell [X-1] [Y]的getOutputX和Cell的getOutputY [X] [Y-1]直到到達陣列的邊緣。 此時,輸出將通過陣列傳回,並返回單元格的所需輸出。

當我寫出來的時候,隨着我的進展,我會更加了解,而且我覺得我非常接近。 任何有用的輸入或提示將不勝感激。

我的具體問題是如何創建一個getOutput方法,該方法將從上面的單元格和所需輸出左側的單元格獲得所需的輸入。

算法很簡單:

int getOutput(x, y) {
    if (x == 0 || y == 0) {
        return hardCodedInput(x, y);
    }
    int leftOutput = getOutput(x - 1, y);
    int topOutput = getOutput(x, y - 1);
    return logicGate(x, y).applyLogic(leftOutput, topOutput);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM