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

الأشجار الثنائية هي المجموعة الفرعية الأكثر شيوعًا في بنية بيانات عائلة الشجرة ؛ العناصر الموجودة في الشجرة الثنائية مرتبة في تسلسل هرمي. تشمل الأنواع الأخرى من الأشجار AVL ، والأشجار ذات اللون الأحمر والأسود ، وأشجار B ، إلخ. تحتوي عقد الشجرة الثنائية على عنصر البيانات ومؤشرين لكل عقدة فرعية.
يمكن أن تحتوي كل عقدة رئيسية في الشجرة الثنائية على عقدتين فرعيتين بحد أقصى ، ويمكن أن تكون كل عقدة فرعية بدورها أصلًا لعقدتين.
متعلق ب: دليل المبتدئين للأشجار الثنائية
تخزن شجرة البحث الثنائية (BST) البيانات بترتيب مصنف ، حيث العناصر ذات القيمة الأساسية أقل من الأصل يتم تخزين العقدة على اليسار ، ويتم تخزين العناصر التي تحتوي على قيمة مفتاح أكبر من العقدة الأصلية في ملف الصحيح.
تُسأل عن الأشجار الثنائية بشكل شائع في المقابلات ، لذلك إذا كنت تستعد لمقابلة ، يجب أن تعرف كيفية تسوية شجرة ثنائية ، والبحث عن عنصر معين ، والمزيد.
3. جدول تجزئة
تعد جداول التجزئة أو خرائط التجزئة بنية بيانات عالية الكفاءة تقوم بتخزين البيانات بتنسيق مصفوفة. يتم تعيين قيمة فهرس فريدة لكل عنصر من عناصر البيانات في جدول التجزئة ، مما يسمح بالبحث والحذف بكفاءة.
تسمى عملية تعيين المفاتيح أو تعيينها في خريطة التجزئة التجزئة. كلما زادت كفاءة وظيفة التجزئة ، كانت كفاءة جدول التجزئة نفسه أفضل.
يخزن كل جدول تجزئة عناصر البيانات في زوج فهرس القيمة.
حيث القيمة هي البيانات المراد تخزينها ، والفهرس هو العدد الصحيح الفريد المستخدم لتعيين العنصر في الجدول. يمكن أن تكون وظائف التجزئة معقدة للغاية أو بسيطة للغاية ، اعتمادًا على الكفاءة المطلوبة لجدول التجزئة وكيفية حل التعارضات.
تنشأ التصادمات غالبًا عندما تنتج دالة التجزئة نفس التعيين لعناصر مختلفة ؛ يمكن حل تضارب خريطة التجزئة بطرق مختلفة ، باستخدام العنونة المفتوحة أو التسلسل.
تحتوي جداول التجزئة أو خرائط التجزئة على مجموعة متنوعة من التطبيقات المختلفة ، بما في ذلك التشفير. إنها بنية بيانات الخيار الأول عندما يكون الإدراج أو البحث في وقت O (1) الثابت مطلوبًا.
4. الأكوام
تعد الحزم أحد أبسط هياكل البيانات ويسهل إتقانها. هيكل بيانات المكدس هو في الأساس أي مكدس حقيقي (فكر في مجموعة من الصناديق أو اللوحات) ويعمل بطريقة LIFO (Last In First Out).
خاصية Stacks 'LIFO تعني أنه سيتم الوصول إلى العنصر الذي أدخلته مؤخرًا أولاً. لا يمكنك الوصول إلى العناصر الموجودة أسفل العنصر العلوي في مكدس دون ظهور العناصر الموجودة فوقه.
تحتوي الحزم على عمليتين أساسيتين - الدفع والفرقعة. يُستخدم الدفع لإدراج عنصر في المكدس ، بينما يزيل البوب العنصر الأعلى من المكدس.
لديهم أيضًا الكثير من التطبيقات المفيدة ، لذلك من الشائع جدًا أن يطرح القائمون على المقابلات أسئلة تتعلق بالأكوام. معرفة كيفية عكس المكدس وتقييم التعبيرات أمر ضروري للغاية.
5. قوائم الانتظار
قوائم الانتظار تشبه الحزم ولكنها تعمل بطريقة FIFO (First In First Out) ، مما يعني أنه يمكنك الوصول إلى العناصر التي أدخلتها مسبقًا. يمكن تصور بنية بيانات قائمة الانتظار كأي قائمة انتظار حقيقية ، حيث يتم وضع الأشخاص بناءً على ترتيب وصولهم.
تسمى عملية الإدراج لقائمة الانتظار enqueue ، ويشار إلى حذف / إزالة عنصر من بداية قائمة الانتظار باسم dequeuing.
متعلق ب: دليل المبتدئين لفهم قوائم الانتظار وقوائم الانتظار ذات الأولوية
تعد قوائم الانتظار ذات الأولوية تطبيقًا متكاملًا لقوائم الانتظار في العديد من التطبيقات الحيوية مثل جدولة وحدة المعالجة المركزية. في قائمة انتظار الأولوية ، يتم ترتيب العناصر وفقًا لأولويتها بدلاً من ترتيب الوصول.
6. أكوام

الأكوام هي نوع من الأشجار الثنائية حيث يتم ترتيب العقد بترتيب تصاعدي أو تنازلي. في Min Heap ، تكون القيمة الرئيسية للأصل مساوية أو أقل من تلك الخاصة بتوابعها ، وتحتوي عقدة الجذر على الحد الأدنى لقيمة الكومة بأكملها.
وبالمثل ، تحتوي العقدة الجذرية لـ Max Heap على قيمة مفتاح الحد الأقصى للكومة ؛ يجب عليك الاحتفاظ بخاصية min / max heap في جميع أنحاء الكومة.
متعلق ب: أكوام مقابل. الأكوام: ما الذي يميزهم عن غيرهم؟
تحتوي الأكوام على الكثير من التطبيقات نظرًا لطبيعتها الفعالة للغاية ؛ في المقام الأول ، يتم تنفيذ قوائم الانتظار ذات الأولوية غالبًا من خلال أكوام. كما أنها عنصر أساسي في خوارزميات الفرز المتراكم.
تعلم هياكل البيانات
قد تبدو هياكل البيانات مروعة في البداية ولكنها تخصص وقتًا كافيًا ، وستجدها سهلة مثل الفطيرة.
إنها جزء حيوي من البرمجة ، وسيتطلب منك كل مشروع تقريبًا استخدامها. إن معرفة بنية البيانات المثالية لسيناريو معين أمر بالغ الأهمية.
هذه الخوارزميات ضرورية لسير عمل كل مبرمج.
اقرأ التالي
- برمجة
- تحليل البيانات
- نصائح الترميز

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