شارك المقالة
شرح كيفية استخدام binarySearch في Dart لتسهيل عملية البحث داخل list

شرح كيفية استخدام binarySearch في Dart لتسهيل عملية البحث داخل list

شرح كيفية استخدام binarySearch في Dart لتسهيل عملية البحث داخل list

خوارزمية binarySearch  من اكثر الخوارزميات استعمالا في البرمجة وذلك لانها توفر وقت كبير على المبرمجين وتسرع من الحصول على النتائج ولكن لكي تستطيع استخدام هذه الخوارزميه عليك بان تقوم بترتيب عناصر ال list حتى تتمكن من استعمالها وهذا الشرط ضروري في استخدام binarySearch وهذا ما تقوم عليه يمكنك استخدام امر sort او حتى ترتيب عناصر الlist لديك حتى تتمكن من استعمالها .


How to use binarySearch in flutter

الطريقة او اليه عملها بكل بساطة تقوم بقسم ال list الى قسين يمين ويسار وتقارن القيمه التي تبحث عنها اكبر من الجزء اليسار او اقل اذا كانت اقل فهذا يعني ان الرقم موجود في الجزء الاول يتم قسم الlist ايضا الى جزئين وهكذا تبقى تعمل في عملية التقسيم الى ان تصل في النهايه الى ناتج تستطيع من خلاله معرفة الرقم هل يساوي الرقم المراد ام لا وبهذا توفر وقت كبير في عمليات البحث بدلا من المرور على العنصر عنصر تلو الاخر .

شرح كيفية استخدام binarySearch في Dart لتسهيل عملية البحث داخل list


binarySearch.dart

void main() {
  
  List<int> list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
  print(binarySearch(13,list));
  
  }

int binarySearch(int value,List list) {
  int start = 0;
  int end = list.length -1;
  int middle = ((start+end)/2).floor();
  
  while (list[middle] != value && start <= end) {
    print('$start , $middle, $end');
    if (value < list[middle]) {
      end = middle - 1;
    } else {
      start = middle + 1;
    }
    middle = ((start+end)/2).floor();
  }
  if (list[middle] == value) return middle;
  return -1;
  
}


مزيد من المقالات : تصميم صفحة dashboard panel تعمل على بشكل responsive لتعمل على مختلف الاجهزة
شاهد أيضًا
مقالات ذات صلة
شرح Observer Design Pattern بالتفصيل مع مثال عملي في Java
شرح Observer Design Pattern بالتفصيل مع مثال عملي في Java

شرح Observer Design Pattern بالتفصيل مع مثال عملي في Java إذا كنت تبحث عن طريقة…

استخراج بيانات list في ملف csv وحفظه في الهاتف باستخدام تقنية flutter

استخراج بيانات list في ملف csv وحفظه في الهاتف باستخدام تقنية flutter في هذا المقال…

اضافة الصعود للاعلى والاسفل اثناء scroll ومعرفة حالة ال scroll

اضافة الصعود للاعلى والاسفل اثناء scroll ومعرفة حالة ال scroll بسم الله الرحمن الرحيم في…

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

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