ماهى هياكل البيانات Data Structure؟

هياكل البيانات هي طريقة لجمع البيانات وتنظيمها بطريقة تمكننا من إجراء عمليات على هذه البيانات بطريقة فعالة.

بشكل مبسط هياكل البيانات تعتمد على تصميم عملية التخزين فى الحاسب بطريقة فعالة وغير معقد ليدعم نوع البيانات المراد تخزينها ليعمل الكود او الخوارزمية بطريقة اسرع واكثر كفاءة.

انواع هياكل البيانات فى لغات البرمجة

يوجد نوعان من هياكل البيانات النوع الاول وهو النوع البدائى او Primitive والنوع الثانى هو النوع المعقد وهو مكون من النوع البدائى.

النوع البدائى هو طريقة لتصنيف أنواع مختلفة من البيانات مثل الأعداد الصحيحة ، والسلاسل الحرفية او النصوص ، وعليه يتم تحديد العمليات المستخدمة بين انواع البيانات المختلفة.

فمثلًا انواع البيانات من نوع الاعداد الصحيحة Integers يكمن اجراء العمليات الحسابية المختلفة عليها.

بينما فى حالة النصوص يمكن دمج النصوص.

ثم لدينا أيضًا هياكل البيانات المعقدة ، والتي يتم استخدامها لتخزين البيانات الكبيرة والبيانات التى بينها علاقة او متصلة.

امثلة على انواع هياكل البيانات المعقدة 

  • Array
  • Linked List
  • Tree
  • Graph
  • Stack, Queue

كل نوع منها له خصائص معينة ويسمح لنا كل نوع بعمليات مختلفة على البيانات والاختيار يكون على حسب طبيعة البيانات.

معرفة المزيد عن انواع البيانات

الخوارزميات فى  البرمجة

الخوارزميات هى مجموعة من الخطوات والاوامر الواضحة التى تكتب لحل مشكلة برمجية معينة , ويقال ان الخوارزمية جيدة اذا كانت سريعة فى التنفيذ ولها كفاءة عالية فى التخزين.

هيكل بيانات المصفوفة Arrays

من هياكل البيانات المهمة فى البرمجة والمستخدمة كثيرًا فى الخوارزميات المختلفة , وهى عدد ثابت من العناصر المخزنة و التى يكون لها نفس النوع , وكل عنصر من عناصر المصفوفة له رقم او فهرس Index ويتم تخزين المصفوفة بشكل متجاور فى الذاكرة.

يمكننا الوصول إلى كل عنصر من المصفوفة لتعديله اوحذفه اوالحصول على قميته عن طريق هذا الفهرس Index.

يمكن كتابة الكود لاعلان المصفوفة بطرق مختلفة على حسب اللغة المستخدمة على سبيل المثال فى لغة C يكون كود اعلان المصفوفة كالتالى :

حيث يمثل int نوع البيانات داخل المصفوفة وفى هذه الحالة رقم صحيح Integer. 

ويمثل array اي اسم اختيار للمصفوفة.

ويمثل 6 عدد العناصر المحجوزة فى المصفوفة.

وتمثل الارقام بين علامة {} الاعداد الصحيحة التى تمثل عناصر المصفوفة ويفصل بينهم ب ,

ولكل عنصر من عناصر المصفوفة فهرس او رقم يبدء من 0 حتى اخر عنصر , ففى مثالنا السابق العنصر 35 له Index = 0 

وهكذا وصولًا للعنصر 19 الذى له Index = 5. 

والفهرس او Index مهم كما قلنا للوصول إلى العنصر للتحكم فيه.

هيكل بيانات القوائم المرتبطة Linked List

مثل المصفوفات ، القائمة المرتبطة هو هيكل بيانات خطي. وبخلاف المصفوفات ، لا يتم تخزين عناصر القوائم المرتبطة في امكان متجاورة فى الذاكرة ؛ ترتبط العناصر باستخدام المؤشرات او Pointers.

Linkedlist القوائم المرتبطة

هيكل بيانات Tree

على عكس المصفوفات ، والقوائم المرتبطة من النوع الخطى ، فإن الأشجار هي هياكل بيانات هرمية. النوع فى الرسمة هو من النوع Binary Tree.

يسمى العنصر الاساسى فى الشجرة Root ويسمى العناصر اسفله Child وكل نقطة تسمى Node واقصى عناصر لاسفل تسمى Leaves.

لعلك الان تتسأل ما فائدة نوع بيانات هكذا ؟!

 قد يكون أحد أسباب استخدام الأشجار هو أنك تريد تخزين بيانات وهى بطبيعتها تشكل تسلسل هرمى، على سبيل المثال نظام الملفات على جهاز كمبيوتر كالتالى

كان هذا شرح موجز لبعض هياكل البيانات لتوضيح الفكرة وتوضيح معنى هياكل البيانات Data Structure وسيتم شرح الانواع السابقة بشكل مفصل مع الكود الخاص بكل منها.


كتب بواسطة admin

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*