This post is also available in: English (الإنجليزية) हिन्दी (الهندية)
في علوم الكمبيوتر ، هيكل البيانات هو تنسيق تنظيم وإدارة وتخزين البيانات التي تتيح الوصول والتعديل الفعال. بتعبير أدق ، هيكل البيانات عبارة عن مجموعة من قيم البيانات ، والعلاقات فيما بينها ، والوظائف أو العمليات التي يمكن تطبيقها على البيانات ، أي أنها بنية جبرية حول البيانات. تُستخدم هياكل البيانات لتقليل التعقيد (غالبًا التعقيد الزمني) للشفرة.
هناك أنواع مختلفة من هياكل البيانات المستخدمة في لغات البرمجة المختلفة بناءً على المتطلبات. يمكن تصنيف هياكل البيانات هذه على نطاق واسع على أنها
- هياكل البيانات الثابتة
- هياكل البيانات الديناميكية
هياكل البيانات الثابتة
بنية البيانات الثابتة هي منظمة أو مجموعة بيانات في الذاكرة ثابتة الحجم. ينتج عن هذا الحد الأقصى للحجم الذي يلزم معرفته مسبقًا ، حيث لا يمكن إعادة تخصيص الذاكرة في وقت لاحق. المصفوفاتهي مثال بارز على بنية بيانات ثابتة.

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

ميزتان رئيسيتان تميزان الهياكل الديناميكية من هياكل البيانات الثابتة. أولاً ، لم يعد من الممكن استنتاج جميع المعلومات الهيكلية من الرأس ؛ يجب أن يحتوي كل عنصر من عناصر البيانات على معلومات تتعلق به منطقيًا بالعناصر الأخرى للهيكل. ثانيًا ، غالبًا ما يكون استخدام كتلة واحدة من التخزين المتجاور غير مناسب ، وبالتالي من الضروري توفير بعض مخططات إدارة التخزين في وقت التشغيل.
الفرق بين هياكل البيانات الثابتة والديناميكية
تحتوي بنية البيانات الثابتة على حجم ذاكرة ثابت ، بينما في بنية البيانات الديناميكية ، يمكن تحديث الحجم بشكل عشوائي أثناء وقت التشغيل والذي يمكن اعتباره فعالًا فيما يتعلق بتعقيد ذاكرة الكود. توفر بنية البيانات الثابتة وصولاً أسهل إلى العناصر فيما يتعلق بهيكل البيانات الديناميكي. على عكس هياكل البيانات الثابتة ، تكون هياكل البيانات الديناميكية مرنة.
مزايا وعيوب هياكل البيانات الثابتة
فيما يلي مزايا هياكل البيانات الثابتة:
- المترجم وتخصيص مساحة أثناء التجميع
- سهل البرمجة
- من السهل التحقق من الفائض
- مصفوفة تسمح بالوصول العشوائي
فيما يلي عيوب هياكل البيانات الثابتة:
- يجب على المبرمجين تقدير الحد الأقصى من المساحة المطلوبة
- يمكن أن يضيع الكثير من المساحة (إذا كان التقدير مرتفعًا جدًا)
مزايا وعيوب هياكل البيانات الديناميكية
فيما يلي مزايا هياكل البيانات الديناميكية:
- يستخدم فقط المساحة المطلوبة في أي وقت
- يستخدم الذاكرة بكفاءة
- يمكن إرجاع التخزين الذي لم يعد يتطلب للنظام للاستخدامات الأخرى
فيما يلي عيوب هياكل البيانات الثابتة:
- صعب البرمجة
- يمكن أن تكون بطيئة في تنفيذ عمليات البحث
- تسمح القائمة المرتبطة بالوصول التسلسلي فقط (بدءًا من البداية يمر عبر واحد تلو الآخر