جدول المحتويات:

كيف تقوم بتنفيذ شجرة بحث ثنائية في جافا؟
كيف تقوم بتنفيذ شجرة بحث ثنائية في جافا؟

فيديو: كيف تقوم بتنفيذ شجرة بحث ثنائية في جافا؟

فيديو: كيف تقوم بتنفيذ شجرة بحث ثنائية في جافا؟
فيديو: 34- Binary tree implementation in Java 2024, أبريل
Anonim

تنفيذ شجرة بحث ثنائية (BST) في جافا

  1. تحتوي الشجرة الفرعية اليسرى للعقدة فقط على عقد بها مفاتيح أقل من مفتاح العقدة.
  2. تحتوي الشجرة الفرعية اليمنى للعقدة على عقد فقط بمفاتيح أكبر من مفتاح العقدة.
  3. يجب أن تكون الشجرة الفرعية اليمنى واليسرى أيضًا a شجرة البحث الثنائية .
  4. يجب ألا يكون هناك عقد مكرر.

السؤال أيضًا هو ، كيف يتم تنفيذ البحث الثنائي في Java؟

دعنا نرى مثالاً للبحث الثنائي في جافا حيث سنبحث عن عنصر من مصفوفة باستخدام العودية

  1. فئة BinarySearchExample1 {
  2. public static int binarySearch (int arr ، int first، int last، int key) {
  3. إذا (أخيرًا> = أولًا) {
  4. منتصف int = الأول + (الأخير - الأول) / 2 ؛
  5. إذا (arr [mid] == مفتاح) {
  6. منتصف العودة
  7. }

ثانيًا ، أين نستخدم شجرة البحث الثنائية؟ شجرة البحث الثنائية - مستخدم في كثير بحث التطبيقات حيث يتم إدخال / مغادرة البيانات باستمرار ، مثل الخريطة وتعيين الكائنات في العديد من مكتبات اللغات. الثنائية قسم الفضاء - مستخدم في كل لعبة فيديو ثلاثية الأبعاد تقريبًا لتحديد الكائنات التي يجب عرضها.

فقط هكذا ، كيف تتشكل الأشجار الثنائية؟

إنشاء شجرة ثنائية باستخدام العودية

  1. قراءة البيانات في x.
  2. تخصيص الذاكرة لعقدة جديدة وتخزين العنوان في المؤشر ص.
  3. قم بتخزين البيانات x في العقدة p.
  4. بشكل متكرر قم بإنشاء الشجرة الفرعية اليسرى لـ p واجعلها الطفل الأيسر لـ p.
  5. قم بإنشاء الشجرة الفرعية الصحيحة بشكل متكرر لـ p واجعلها التابعة الصحيحة لـ p.

ما هو تعقيد البحث الثنائي؟

بحث ثنائي يعمل في أسوأ الأوقات اللوغاريتمية ، وإجراء مقارنات O (log n) ، حيث n هو عدد العناصر في المصفوفة ، و O هو تدوين Big O ، و log هو اللوغاريتم. بحث ثنائي تأخذ مساحة ثابتة (O (1)) ، مما يعني أن المساحة التي تشغلها الخوارزمية هي نفسها لأي عدد من العناصر في المصفوفة.

موصى به: