مختصر كتابي: مقدمة هياكل البيانات
ما هي هياكل البيانات؟
هياكل البيانات (Data Structures) ليست لغة برمجة ولا كودًا مكتوبًا. هي، كما يقول اسمها، هياكل أو أشكال نمثّل بها البيانات التي نحتاج إلى تخزينها أو استرجاعها في أي وقت ونحن نحل مشكلة ما. واختيار الشكل المناسب هو ما يجعل الوصول إلى البيانات سهلًا وسريعًا.
تشبيه من البيت: لكل شيء مكانه
- تضع بطاقتك وفلوسك في محفظة، والمحفظة في درج معين في غرفتك، وملابسك في الدولاب.
- عندما تريد محفظتك لا تبحث في البيت كله، بل تذهب مباشرة إلى الدرج. وعندما تريد طبقًا أو ملعقة تذهب إلى المطبخ، لا إلى غرفة النوم.
- البيت نفسه فيه مخازن كثيرة لأنواع مختلفة من الأشياء، وكل شيء مخزّن حسب فيم تستخدمه ومتى تستخدمه.
ماذا لو وضعنا كل شيء في كومة واحدة؟
تخيّل أننا أزلنا كل الدواليب والمخازن، وجعلنا البيت صالة واحدة وضعنا فيها الحلل والملابس والمحافظ في كومة كبيرة. هل سيكون أسهل أن تبحث عن محفظتك وسط هذه الكومة، أم أن تذهب إلى الدرج كما اعتدت؟ هذا بالضبط هو الفرق بين أن تستخدم هيكل بيانات مناسبًا يسهّل عليك الحل، وأن تلجأ إلى حلول بدائية جدًا تصعّب المشكلة بدل أن تسهّلها.
لماذا نحتاج أشكالًا كثيرة؟
- لا يصلح أن تضع المحفظة في الدولاب، لأن الدولاب مخصص للملابس. لكل نوع بيانات أو مشكلة المخزن الذي يناسبها، حسب طريقة الحل أو الاسترجاع التي تريدها.
- الأطباق: كلها متشابهة، ولا يهمك أي طبق تأخذ، فتأخذ أول طبق تجده في الرصّة.
- الملابس: تختار قطعة بعينها، فتحتاج أن تكون كل الملابس أمامك لتختار واحدة وتترك الباقي.
- طريقة تخزين الأطباق تناسب الأطباق، وطريقة تخزين الملابس تناسب الملابس. وكذلك نختار طريقة تخزين البيانات حسب المشكلة، لتكون استعادتها أسهل.
أين نجد هياكل البيانات؟
في تطبيقات الموبايل والكمبيوتر، والألعاب (Games)، ومواقع التواصل الاجتماعي، والرسائل التي ترسلها. كل واحد منها قد يستخدم هيكلًا أو اثنين أو عشرة هياكل بيانات، بطرق مختلفة تناسب كل جزء من البيانات. وهذه الطرق تعود في النهاية إلى مجموعة هياكل بيانات متعارف عليها، مثل الشجرة (Tree) والمكدس (Stack) والمصفوفة (Array).
معرفتك بهذه الأشكال تعطيك مجموعة أدوات تختار منها عند حل مشكلتك، فتقول: هذه المشكلة يناسبها هذا الهيكل، أو مزيج من هيكلين. وفي هذا الكورس سنتعرف على العمليات المستخدمة مع كل شكل، وكيف يُخزَّن في الذاكرة، وأي أنواع المشكلات يحلها جيدًا.
الخلاصة
- هياكل البيانات أشكال لتمثيل البيانات وتخزينها واسترجاعها بسهولة.
- الشكل المناسب يسهّل الحل، والشكل الخطأ يتعبك جدًا في الاسترجاع.
- لكل مشكلة الهيكل الذي يناسب طريقة استخدامها، تمامًا كمخازن البيت.
- فهم الهياكل الشائعة يجعلك تختار الهيكل المناسب في المكان المناسب.
مصطلحات الدرس
| المصطلح | بالإنجليزية | المعنى |
|---|---|---|
| هياكل البيانات | Data Structures | أشكال نمثّل بها البيانات لتخزينها واسترجاعها |
| المصفوفة | Array | عناصر مرتبة بجانب بعضها في صف واحد |
| المكدس | Stack | عناصر مرصوصة فوق بعضها |
| الشجرة | Tree | عناصر مرتبة في مستويات تتفرع من عنصر واحد |
