Loading...

لاتفوتك فرصة خصم الاشتراك المبكر ٣٩٩ ريال لمعسكر تطوير اللغة الانجليزية

أنواع هياكل البيانات

أنواع هياكل البيانات

July 4, 2023 calendar icon

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


 المصفوفات (Arrays)

المصفوفة هي عدد ثابت من العناصر المخزنة و التى لها نفس النوع . ويتم تخزين عناصر المصفوفة بشكل متجاور فى الذاكرة بحيث يكون كل عنصر من عناصر المصفوفة له  فهرس (Index) ، ويمكن  باستخدام هذا الفهرس للوصول إلى عنصر المصفوفة  لتعديله أوحذفه أوالحصول على قميته .تعد المصفوفة من هياكل البيانات المهمة  والمستخدمة كثيرًا فى الخوارزميات المختلفة (2) . المصفوفة ذات البعد الواحد هي أبسط أنواع الهياكل الخطية (3). يبدأ الفهرس بالعدد 0 لذلك  يكون فهرس العنصر الأخير في مصفوفة بعدها n هو n-1 .




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

           وھي نوعٌ من هياكل البيانات الخطیة تتألف من مجموعةٍ من الخلایا المترابطة فیما بینھا وكل عنصرٍ فیھا یسمى عقدة (node) (4) وكل عقدة تتألف من معلومتين :قيمة العقدة وعنوان العقدة التي تليها من خلال مؤشر يشير الى العنوان Pointer))، بمعنى أن العناصر فيها تكون بمثابة عقد مرتبطة بمؤشرات بحيث يكون لكل عنصر مؤشر يشير علي عنوان العنصر التالي و يكون المؤشر للعنصر الأخير يشير الى Null . المؤشرHead يشير الي قيمة العقدة الأولي.


هيكل بيانات المكدس (Stack)

يتيح الـ Stack أو المكدس إدارة ومعالجة البيانات بطريقة خاصة توصف بمبدأ

 (Last-In-First-Out) ، أي يتم إضافة العناصر إلى الـ Stack في نهايته ويتم إزالتها أيضا من نفس النهاية (من يدخل أخيرًا يخرج أخيرًا) وتسمى هذه النهاية بـ Top أو رأس المكدس (2) .

يمكن للمكدس القيام بعدد من العمليات الأساسية:

1- الحذف  (Pop): يقصد به حذف العنصر الذي يتواجد عند رأس المكدس.

2- الإضافة (Push): يقصد به إضافة عنصر جديد من عند رأس المدس

3- الإطلاع(Peek) : الإطلاع على العنصر المتواجد عند رأس المكدس.

يمكن الإستفادة من المكدس في تطبيقات عديدة  مثل متصفح الويب لحفظ سجل الزيارات (2).


هيكل بيانات الطابور (Queue)

           بخلاف المكدس، في هيكل بيانات الطابور(Queue) يتم معالجة العناصر فيه بناءً على مبدأ   من يدخل أولا يخرج أولا ((First-In-First-Out ، بمعني أنه يتم إضافة العنصر في نهاية الطابور ويتم إزالته من التخزين من بدايت الطابور ويسمى الطرف الذي يتم إضافة العناصر إليه بالذيل والطرف الذي يتم حذف العناصر منه بـالرأس (2).

العديد من العمليات يمكن لهيكل بيانات الطابور القيام بها : 

1- الحذف (Dequeue): يقصد بها حذف العنصر الذي يوجد في بداية الطابور أو الرأس.

2- الإضافة (Enqueue): يقصد بها إضافة عنصر جديد من نهاية أو ذيل الطابور.

3- الإطلاع (Peek): يقصد بها الإطلاع على العنصر الذي يتواجد عند رأس الطابور.

يمكن الإستفادة بهذا النوع م هياكل البيانات في ادارة البيانات في العديد من التطبيقات ، علي سبيل المثال في تحميل العمليات في مواقع الويب .


هيكل بيانات الشجرة (Tree)

           الشجرة (Tree) هي بمثابة أحد أنواع هياكل البيانات الغير خطية الهرمية المتشعبة، حيث يتم استخدامها في تمثيل البيانات التي لھا علاقاتٌ تشعبیةٌ في صورة عقد (Nodes) ويسمى العنصر إلأساسى فى الشجرة بالجذر (Root) وتسمى العناصر أسفل الجذر بالأبناء ويسمي كل عنصر(Node) وتسمى أقصي عناصر لأسفل بالاوراق (Leaves)   ]2[. الرسم التالي يوضح تمثيل  بعض البيانات في صورة شجرة . تحتوى كل عقدة علي بيانات ومؤشرات على الأبناء تسمي المسار (Path). يمكن الإستفادة من هيكل الشجرة عندما نريد تخزين بيانات طبيعتها تشكل تسلسل هرمى مثل نظام  إادارة الملفات على جهاز الحاسب. 


أهم تطبيقات هياكل البيانات

لا يخلو أي برنامج أو تطبيق أو خوارزمية برمجية من وجود هياكل بيانات تساعده في تحقيق الهدف المطلوب منه، علي سبيل المثال (3) :

  • خوارزميات  توليد البيانات (مثل مولِّد الأعداد العشوائية).
  • خوارزميات تشفير وفك التشفير للبيانات ( مثل المعتمدَة في نظام الأمان).
  • نظام أو خوارزميات إدارة الملفات في جهاز الحاسب.
  • خوارزميات ضغط البيانات وتفكيكها مثل المستخدمة في برنامج zip.


الخاتمة

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




المراجع :

[1]: https://ustudy24.com/blogdetails/9 

[2]:  https://motwr.com/%D9%85%D8%A7%D9%87%D9%89-%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-data-structure%D8%9F/

[3]:https://academy.hsoub.com/programming/general/%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-data-structures/

[4]: https://mafhome.com/%D9%83%D9%84-%D9%85%D8%A7-%D8%AA%D8%AD%D8%AA%D8%A7%D8%AC-%D9%85%D8%B9%D8%B1%D9%81%D8%AA%D9%87-%D8%B9%D9%86-%D9%87%D9%8A%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-data-structur/