سجل التعديلات
الفرق مقارنةً بالنسخة السابقة
+ **هيكل البيانات** طريقة لتنظيم البيانات في الذاكرة بحيث تكون عمليات معينة سريعة. اختيار الهيكل المناسب يحدد غالباً أداء البرنامج أكثر من أي تحسين آخر. التعقيدات أدناه بترميز 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": []}+ ```++ ## كيف تختار؟++ اسأل: ما العملية الأكثر تكراراً؟ بحث بالمفتاح ← جدول تجزئة. ترتيب دائم ← شجرة متوازنة. أصغر عنصر دائماً ← كومة. وصول بالفهرس ← مصفوفة.
مقال مرجعي رسمي من فريق عرب كود
ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)