شارك المقالة
كود Ternary search بلغة الجافا java مع الشرح بالعربي

كود Ternary search بلغة الجافا java مع الشرح بالعربي


 بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته متابعي ومتابعات موقع ومدونه جي كودرس مرحبا بكم في مقاله جديده في اكواد الجافا وايضا algorithms جديد اليوم سوف نتعرف على خوارزمية تعد من اكثر الخوارزميات استخداما في البرمجة وهي ترنري سيرش – Ternary search تستعمل هذه الخوارزمية في عملية ترتيب البيانات او العناصر الموجودة داخل مصفوفة وهي شبيهه جدا بي binary search لذلك ارجو منكم متابعة المقال للاستفاده . 



Ternary search

إنه مشابه للبحث الثنائي ، حيث نقسم المصفوفة إلى جزئين ، لكننا هنا نقسم المصفوفة المعطاة إلى ثلاثة أجزاء فقط في هذه الخوارزمية ونقرر الإجابة بعدها ( العنصر الذي تم البحث عنه ) 


كود Ternary search بلغة الـ Java



        int l,r, p, key;

        int ar[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9,};

        l = 0;

        r = 8;

         key = 5;

        p = ternarySearch(l, r, key, ar);

        System.out.println("Index of " + key + " is " + p);

        key = 50;

        p = ternarySearch(l, r, key, ar);

        System.out.println("Index of " + key + " is " + p); 

        }

 static int ternarySearch(int l, int r, int key, int ar[])

    {

        if (r >= l) {

             int mid1 = l + (r - l) / 3;

            int mid2 = r - (r - l) / 3;

            if (ar[mid1] == key) {

            return mid1;

            }

            if (ar[mid2] == key) {

            return mid2;

            }

            if (key < ar[mid1]) {

            return ternarySearch(l, mid1 - 1, key, ar);

            }

            else if (key > ar[mid2]) {

            return ternarySearch(mid2 + 1, r, key, ar);

            }

            else {

            return ternarySearch(mid1 + 1, mid2 - 1, key, ar);

            }

            }
        return -1;

المخرجات – Outpt


Index of 5 is 4

Index of 50 is -1


لمزيد من الاكواد

شاهد أيضًا
مقالات ذات صلة
كيف يمكن تحديث ملفات المشروع Project اندرويد ستوديو الخاص بك على منصة Github
كيف يمكن تحديث ملفات المشروع Project اندرويد ستوديو الخاص بك على منصة Github

  في دروس تطوير تطبيقات الهواتف الذكية وخاصة تطوير تطبيقات الاندرويد التي نقدمها لكم في…

اسهل طريقة لتعلم كتابة اول برنامج لك في لغة c++ بكل سهوله | c++ Tutorial | سي بلس بلس بالعربي
اسهل طريقة لتعلم كتابة اول برنامج لك في لغة c++ بكل سهوله | c++ Tutorial | سي بلس بلس بالعربي

شرح لغة السي بلس بلس بالعربي كيف تكتب اول كود سي بلس بلس (++C) في…

شرح كيفية التعامل مع QR توليد وقراءة الباركود في فلاتر بكل سهوله
شرح كيفية التعامل مع QR توليد وقراءة الباركود في فلاتر بكل سهوله

شرح كيفية التعامل مع QR توليد وقراءة الباركود في فلاتر بكل سهوله من اكثر الدروس…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع