تخطَّ إلى المحتوى
ARAB CODEمجتمع المطورين العرب

سجل التعديلات

العودة إلى المقال

الفرق مقارنةً بالنسخة السابقة

+ **هيكل البيانات** طريقة لتنظيم البيانات في الذاكرة بحيث تكون عمليات معينة سريعة. اختيار الهيكل المناسب يحدد غالباً أداء البرنامج أكثر من أي تحسين آخر. التعقيدات أدناه بترميز O الكبير، انظر [الخوارزميات](/wiki/algorithms).
+ ## مقارنة سريعة
+
+ | الهيكل | الوصول بالفهرس | البحث | الإضافة | الحذف |
+ |---|---|---|---|---|
+ | مصفوفة ديناميكية | O(1) | O(n) | O(1) مُطفأة في النهاية | O(n) |
+ | قائمة مترابطة | O(n) | O(n) | O(1) عند عقدة معروفة | O(1) عند عقدة معروفة |
+ | جدول تجزئة | — | O(1) متوسط | O(1) متوسط | O(1) متوسط |
+ | شجرة بحث متوازنة | — | O(log n) | O(log n) | O(log n) |
+ | كومة (heap) | — | O(n) | O(log n) | O(log n) للأصغر |
+
+ ## المكدس والطابور
+
+ - **المكدس** (Stack): آخر داخل أول خارج (LIFO). مثل التراجع في المحررات واستدعاءات الدوال.
+ - **الطابور** (Queue): أول داخل أول خارج (FIFO). مثل معالجة المهام بالترتيب.
+
+ ```python
+ from collections import deque
+ stack = []; stack.append(1); stack.pop()
+ queue = deque(); queue.append(1); queue.popleft() # O(1) بخلاف list.pop(0)
+ ```
+
+ ## جداول التجزئة
+
+ تربط مفتاحاً بقيمة عبر دالة تجزئة: `dict` في Python و`Map` في JavaScript. مثالية للبحث السريع وعدّ التكرارات وإزالة المكررات (`set`).
+
+ ## الأشجار
+
+ - **شجرة البحث الثنائية**: كل عقدة أكبر من يسارها وأصغر من يمينها. يجب أن تبقى **متوازنة** (مثل AVL أو الشجرة الحمراء-السوداء) وإلا تتحول في أسوأ حالة إلى قائمة بتعقيد O(n).
+ - **الكومة**: الأصغر (أو الأكبر) دائماً في القمة؛ أساس طوابير الأولوية (`heapq` في Python).
+ - **B-Tree**: ما تستخدمه قواعد البيانات للفهارس.
+
+ ## الرسوم البيانية (Graphs)
+
+ عقد وحواف، مثل شبكة طرق أو علاقات متابعة. تُمثَّل غالباً بقائمة تجاور:
+
+ ```python
+ graph = {"A": ["B", "C"], "B": ["D"], "C": ["D"], "D": []}
+ ```
+
+ ## كيف تختار؟
+
+ اسأل: ما العملية الأكثر تكراراً؟ بحث بالمفتاح ← جدول تجزئة. ترتيب دائم ← شجرة متوازنة. أصغر عنصر دائماً ← كومة. وصول بالفهرس ← مصفوفة.
  1. معتمدالنسخة الحاليةفريق عرب كودرسمي

    مقال مرجعي رسمي من فريق عرب كود

    ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)