CodeGym /جاوا بلاگ /Random-UR /جاوا ریکریشن
John Squirrels
سطح
San Francisco

جاوا ریکریشن

گروپ میں شائع ہوا۔

Java Recursion کیا ہے؟

وہ منظر نامہ جس میں کوئی فنکشن یا طریقہ اپنے آپ کو کال کرتا ہے اسے تکرار کہا جاتا ہے اور اس طرح کے فنکشن یا طریقہ کو تکراری فعل یا تکراری طریقہ کے طور پر جانا جاتا ہے۔ یہ نقطہ نظر ہمیشہ پیچیدہ مسائل کو ایک سادہ اور آسان لکھنے میں توڑنے کے لیے استعمال کیا جاتا ہے۔ ایک سادہ سی مثال یہ ہے کہ دو آئینے ایک دوسرے کے سامنے رکھیں اور وہ ایک دوسرے کو بار بار منعکس کرنے لگیں گے جنہیں آپ آسانی سے دیکھ سکتے ہیں۔

بالواسطہ تکرار

مندرجہ بالا مثال بالواسطہ تکرار کی نمائندگی کرتی ہے ، یعنی فنکشن ایک کالنگ فنکشن دو اور فنکشن ٹو کالنگ فنکشن ایک۔

براہ راست تکرار

جب کوئی طریقہ خود کو بار بار پکارتا ہے تو اسے ڈائریکٹ ریکرشن کہتے ہیں ۔

رکنے کی حالت

اب آپ سوچ رہے ہوں گے کہ اگر کوئی طریقہ خود کو بار بار کال کر رہا ہے تو یقینی طور پر اسے Stack Overflow کی خرابی کا سامنا کرنا پڑے گا ۔ جی ہاں، آپ ٹھیک کہتے ہیں، لامحدود لوپنگ کی طرح یہ ایک لامحدود تکرار میں جا سکتا ہے۔ اس لامحدود تکرار کو روکنے کے لیے ہمیں ایک بنیادی شرط یا ختم کرنے کی شرط فراہم کرنی چاہیے، جسے ایک رکنے والی حالت کے نام سے جانا جاتا ہے، اور یہ شرط ہمیشہ تکرار کے طریقہ کار کے اندر فراہم کی جاتی ہے، جسے ہم ذیل کی مثال میں تفصیل سے دیکھیں گے۔

تکرار کی مثال

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
اس ریکرس طریقہ مثال میں ہمارے پاس ایک فنکشن فیکٹریل ہے جسے مین میتھڈ سے کہا جاتا ہے۔ ہم نے 5 کی ایک قدر کو یہ دیکھنے کے لیے پاس کیا کہ اس کا فیکٹوریل کیا ہے، جو کہ 120 ہے۔ یہ فیکٹوریل فنکشن 4 کی قدر کو پاس کر کے خود کو دوبارہ کال کر رہا ہے، جو کہ دوبارہ کال کرتا ہے اور 3 کی قدر کو پاس کرتا ہے، اور اسی طرح، جب تک کہ رکنے کی حالت نہ ہو جائے۔ میٹ، جو کہ 0 کی قدر ہے۔ ایسا ہی ہوتا ہے جب ہم قدر کو 5 سے 10 میں تبدیل کرتے ہیں۔

تکرار کے فائدے اور نقصانات

ایک تکراری کوڈ لکھنے، ڈیبگ کرنے اور برقرار رکھنے کے لیے آسان ہے، جو وقت کی بچت ہے۔ لیکن دوسری طرف، ہر کال کے ساتھ متغیرات کے لیے میموری استعمال ہو جاتی ہے، اور اس کی وجہ سے ہماری میموری ختم ہو سکتی ہے۔

نتیجہ

ہم امید کرتے ہیں کہ آپ Java recursion اور اسے کیسے نافذ کریں، نیز اس کے فوائد اور نقصانات کو سمجھ گئے ہوں گے۔ مشق کرنے کے لیے آزاد محسوس کریں اور جب بھی آپ کو مزید مدد کی ضرورت ہو واپس آجائیں۔ خوش تعلیم!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION