我想在Java中進行遞歸,傳遞對象參數。事情是這樣的:現在在遞歸中傳遞對象參數有效嗎?
int recursion(Object object)
{
//do a little bit modification to the object
int i1= recursion(modified_object_1);
//do a little bit modification to the object
int i2= recursion(modified_object_2);
//do a little bit modification to the object
int i3= recursion(modified_object_3);
return max(i1, i2, i3);
}
,因爲對象是通過引用傳遞,我要克隆的對象參數的3倍和克隆的對象傳遞給下一個遞歸。但是,這可能是非常低效的,因爲我正在進行數萬次遞歸,而且對象結構複雜。除了克隆對象之外,還有更有效的方法嗎?
謝謝〜
如果您需要*數萬次遞歸*,請在對象定義中設置遞歸循環。或者詳細說明你想要實現什麼以及對象**的一些修改是什麼 – nullpointer
你可能想要考慮廢棄動態編程迭代方法的遞歸方法,類似於人們經常使用的經典的斐波那契程序介紹類 –
只是一個修正,你通過** value **傳遞對象,通過**引用**傳遞對象(也就是將它傳遞給內存中的地址)是最有效的方法。儘管如此,它不可能在Java –