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

بحث خطي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
Question book-new.svg
المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016)
N write.svg
هذه مقالة جديدة غير مراجعة. ينبغي أن يزال هذا القالب بعد أن يراجعها محرر ما عدا الذي أنشأها؛ إذا لزم الأمر فيجب أن توسم المقالة بقوالب الصيانة المناسبة. (يناير 2012)
Arwikify.svg
هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (مارس 2014)

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

الخوارزمية وتحليلها[عدل]

زمن الفعالية المفترضة للخوارزمية في اسوأ الحالات هي (O(N حيث أن N هو كبر المجموعة

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

رقم الخانة 0 1 2 3 4 5 6 7 8 9 10
المصفوفة 98 81 72 68 55 41 22 19 13 5 0

طول المصفوفة يساوي 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++;
}
Midori Extension.svg
هذه بذرة مقالة بحاجة للتوسيع. شارك في تحريرها.