[英]2-Dimensional Recursion
我正在為一個類實現一個二維數據結構。 我想要的方法是一個“NxN”對象數組。
所以,
Cell[][] dataStructure = new Cell[N][N];
我目前的問題是,我對遞歸非常生疏。 每個單元依賴於其左側的單元格輸出,並依賴於其上方的單元格,以創建其輸出。
例:
假設標准的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.