Loading AI tools
من ويكيبيديا، الموسوعة الحرة
البحث الخطي أو البحث المتسلسل (بالإنجليزية: Liner search) في علوم الحاسوب، هي طريقة لإيجاد قيمة في مجموعة أو قائمة والبحث يكون بفحص كل قيم المجموعة أو القائمة واحدا تلو الآخر حتى إيجاد القيمة المطلوبة أو انتهاء القائمة.[1] البحث الخطي ما هو إلا حالة خاصة من خوارزمية أعم وهي خوارزمية البحث الشامل. بما أن البحث الخطي لا يفترض أي افتراضات قوية بشكل عام هنالك خوارزميات يمكن أن تكون أفضل مثل خوارزمية البحث الثنائي أو دالة هاش.
زمن الفعالية المفترضة للخوارزمية في أسوأ الحالات هي (O(N حيث أن N هو كبر المجموعة
البحث المتسلسل أو الخطي تعتمد هذه الخوارزمية على البحث التسلسلي في المصفوفة حيث يبدا البحث من أول عنصر في المصفوفة إلى أن تنتهي المصفوفة، وهنا نعتمد على مقارنة العنصر الذي نبحث عنه مع كافة العناصر عنصرا عنصر، وفي كل مرة نقارن محتوى الخانة الحالية مع العنصر الذي نبحث عنه فاذا كانت القيمتان متساويتان ستنتهي عملية البحث اما إذا كانت القيمتان مختلفتان فسننتقل إلى الخانة التي تليها للبحث من جديد والنتيجة النهائية ستكون الحصول على رقم الخانة التي يوجد بها العنصر الذي نبحث عنه، وتتوقف المقارنات عند إيجاد العنصر الذي نبحث عنه ايجابيات هذه الخوارزمية انها بسيطة ولا تشترط الترتيب عند البحث سلبياتها بطيئة وغير عملية خصوصا عند معالجة المصفوفات الضخمة أو عدم إيجاد العنصر الذي نبحث عنه في المصفوفة . مثال : نريد البحث عن العدد 55
رقم الخانة | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
المصفوفة | 0 | 5 | 13 | 19 | 22 | 41 | 55 | 68 | 72 | 81 | 98 |
طول المصفوفة يساوي 11 A.Length=11 ,
[A[i حيث نعني i هو الفهرس و A هي المصفوفة التي تحتوي على العناصر
هل A[i]=A[0]=0 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[1]=5 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[2]=13 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[3]=19 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[4]=22 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[5]=41 تساوي العدد الذي نبحث عنه وهو 55 طبعا لا
هل A[6]=55 تساوي العدد الذي نبحث عنه وهو 55 طبعا وهنا سوف يتوقف البحث لاننا وجدنا العنصر الذي نبحث عنه
الخوارزمية التي تعبر عن ذلك هي :
Int i=0;
Boolean found=false;
While(i<A.Length&&!found){
If(item==A[i])
Found=true;
I++;
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.