شرح كيفية استخدام 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;
  
}

تعليقات