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 الكامل بالعربي.