Java Recursion ڇا آهي؟
اهو منظر جنهن ۾ هڪ فنڪشن يا طريقو پاڻ کي سڏيندو آهي recursion طور سڃاتو وڃي ٿو ۽ اهڙي فنڪشن يا طريقو هڪ recursive فنڪشن يا recursive طريقو طور سڃاتو وڃي ٿو. اهو طريقو هميشه پيچيده مسئلن کي هڪ سادي ۽ آسان لکڻ ۾ ٽوڙڻ لاء استعمال ڪيو ويندو آهي. هڪ سادو مثال آهي ٻه آئينا هڪ ٻئي جي سامهون رکڻ ۽ اهي هڪ ٻئي کي بار بار عڪاسي ڪرڻ شروع ڪندا جنهن کي توهان آساني سان ڏسي سگهو ٿا.اڻ سڌي طرح ورجائي
مٿي ڏنل مثال اڻ سڌي ريٽرن جي نمائندگي ڪري ٿو ، يعني فنڪشن هڪ ڪالنگ فنڪشن ٻه ۽ فنڪشن ٻه ڪالنگ فنڪشن هڪ.سڌو سنئون ورجائي
جڏهن ڪو طريقو پاڻ کي بار بار سڏيندو آهي، ان کي سڏيو ويندو آهي سڌو ٻيهر ورجائي .روڪڻ جي حالت
هاڻي توهان سوچيو هوندو ته جيڪڏهن ڪو طريقو پاڻ کي بار بار سڏي رهيو آهي ته پوءِ پڪ سان ان کي منهن ڏيڻو پوندو اسٽيڪ اوور فلو غلطي . ها، توهان صحيح آهيو، لامحدود لوپنگ وانگر اهو هڪ لامحدود ورهاڱي ۾ وڃي سگهي ٿو. هن لامحدود ورهاڱي کي روڪڻ لاءِ اسان کي بنيادي شرط يا ختم ٿيڻ واري شرط مهيا ڪرڻ گهرجي ، جنهن کي هٽائڻ واري حالت طور سڃاتو وڃي ٿو، ۽ اها حالت هميشه ريٽرن جي طريقي جي اندر مهيا ڪئي وئي آهي، جنهن کي اسين هيٺ ڏنل مثال ۾ تفصيل سان ڏسندا.ورجائي مثال
class Recursion {
static int factorial( int n ) {
// base condition or termination condition
if (n != 0)
// here we are calling the recursive method
return n * factorial(n-1);
else
return 1;
}
public static void main(String[] args) {
// initializing the variables
int number = 5, result;
result = factorial(number);
System.out.println(number + " factorial = " + result);
// changing the value from 5 to 10
number = 10;
result = factorial(number); // recursive function call
System.out.println(number + " factorial = " + result);
}
}
مثال جي پيداوار
5 فيڪٽري = 120 10 فيڪٽري = 3628800
هن recurse طريقي جي مثال ۾ اسان وٽ هڪ فنڪشن فيڪٽري آهي جنهن کي مين ميٿڊ مان سڏيو ويندو آهي. اسان 5 جي هڪ قدر کي پاس ڪيو ته ڏسو ته ان جو فيڪٽري ڇا آهي، جيڪو 120 آهي. اهو فيڪٽري فنڪشن 4 جي قيمت کي پاس ڪندي پاڻ کي ٻيهر سڏيندو آهي، جيڪو ٻيهر ڪال ڪري ٿو ۽ 3 جي قيمت کي پاس ڪري ٿو، ۽ ائين ئي، جيستائين halting حالت آهي. met، جيڪا 0 جي قيمت آهي. ساڳيو ئي ٿيندو جڏهن اسان قيمت 5 کان 10 کي تبديل ڪيو.
GO TO FULL VERSION