هل يمكنك البحث الثنائي في قائمة مرتبطة؟
هل يمكنك البحث الثنائي في قائمة مرتبطة؟

فيديو: هل يمكنك البحث الثنائي في قائمة مرتبطة؟

فيديو: هل يمكنك البحث الثنائي في قائمة مرتبطة؟
فيديو: 7- Linked List Structure|| هيكلية لنك لست 2024, شهر نوفمبر
Anonim

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

إذاً فقط ، ما مدى تعقيد الوقت عند تطبيق بحث ثنائي على قائمة مرتبطة؟

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

تعرف أيضًا ، كيف يتم تنفيذ البحث الثنائي؟ بحث ثنائي : بحث مصفوفة مرتبة بتقسيم ملف بحث الفاصل الزمني في النصف. ابدأ بفترة تغطي المصفوفة بأكملها. إذا كانت قيمة بحث المفتاح أقل من العنصر الموجود في منتصف الفترة الزمنية ، قم بتضييق الفاصل الزمني إلى النصف السفلي. وإلا قم بتضييقه إلى النصف العلوي.

ومن ثم ، ما الطريقة التي يستخدمها البحث الثنائي للعثور على عنصر في القائمة؟

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

كيف تقوم بالتكرار من خلال قائمة مرتبطة؟

ان التكرار يمكن استخدامها في الحلقة عبر ا لينكدليست . يعيد التابع hasNext () صحيحًا إذا كان هناك المزيد من العناصر في لينكدليست وخطأ على خلاف ذلك. تقوم الطريقة next () بإرجاع العنصر التالي في ملف لينكدليست ويطرح الاستثناء NoSuchElementException إذا لم يكن هناك عنصر تالٍ.

موصى به: