التقنية الحديثة للبرمجة التقنية الحديثة للبرمجة
recent

آخر الأخبار

recent
recent
جاري التحميل ...
recent

ماهى هياكل البيانات فى البرمجة ؟

- ماهى هياكل البيانات فى البرمجة ؟

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

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

- اهمية هياكل البيانات: 

هياكل البيانات لها اهمية كبيرة فى لادارة والتعامل مع كميات ضخمة من البيانات بفاعلية.

- سرعة المعالجة للبيانات:

 عند التعامل مع كمية كبيرة من البيانات تصبح عملية المعالجة عملية حيوية وتأخد معالجة هذه البيانات وقت اطول ،و يلزم هنا استخدام هيكل مناسب لحفظ البيانات لسهولة معالجة هذه البيانات.

- سهولة الوصول والبحث عن البيانات:

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

- الاستخدام الفعال للذاكرة:

 من خلال تصميم بنية مناسبة لتخزين البيانات، يمكن تحسين استخدام الذاكرة من حيث تقليل المساحة المطلوبة لتخزينها ، فعلى سبيل المثال ، يمكننا استخدام القائمة المرتبطة Linked lists بدلًا من المصفوفات عندما لا نكون لا نعرف حجم البيانات المراد تخزينها قبل بدء التطبيق.

- تطبيقات هياكل البيانات: 

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

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

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

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

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

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

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

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

- Array

- Linked List

- Tree

- Graph

- Stack, Queue

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

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

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

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

int array[6] = {35,33,42,10,14,50}

حيث يمثل int نوع البيانات داخل المصفوفة وفى هذه الحالة رقم صحيح Integer. ويمثل array اي اسم اختيار للمصفوفة.ويمثل 6 عدد العناصر المحجوزة فى المصفوفة. وتمثل الارقام بين علامة {} الاعداد الصحيحة التى تمثل عناصر المصفوفة ويفصل بينهم ب , ولكل عنصر من عناصر المصفوفة فهرس او رقم يبدء من 0 حتى اخر عنصر , ففى مثالنا السابق العنصر 35 له Index = 0 

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


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

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

-هيكل بيانات Tree : 

 ---- j <-- root

    / \ 

   f k 

 / \ \ 

a h z <-- leaves

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

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

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

file system <-- root

 / \ 

... home

       / \

 ugrad course 

  / \

cs10 cs11 

إرسال تعليق

التعليقات



جميع الحقوق محفوظة

التقنية الحديثة للبرمجة

2016