تخطَّ إلى المحتوى

Linear Search

البحث الخطّي Linear Search

Linear Search تفحص كل عنصر بالترتيب من البداية للنهاية حتى تجد المطلوب — تعمل مع أي بيانات، مرتّبة أو لا، لكنها الأبطأ.

الخوارزمية الوحيدة من بين خوارزميات البحث الأساسية التي **لا تحتاج** بيانات مرتّبة سلفًا — الثمن: تعقيد O(n) بأسوأ الحالات (قد تحتاج فحص كل عنصر).

الصياغة

for i, value in enumerate(arr):
    if value == target:
        return i
return -1

📄 مثال

def linear_search(arr, target):
    for i, value in enumerate(arr):
        if value == target:
            return i
    return -1

print(linear_search([4, 2, 7, 1, 9], 7))  # 2

أهم النقاط

النقطةالوظيفة
التعقيد الزمنيO(n) بأسوأ حالة، O(1) بأفضل حالة (أول عنصر)
الشرطلا يوجد — تعمل مع أي بيانات مهما كان ترتيبها

💡 نصائح عملية

  • استخدمها فقط عندما تكون البيانات غير مرتّبة أصلًا — لو مرتّبة، Binary Search أسرع بكثير دائمًا

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DSA الكامل بالعربي.