أفضل 5 هياكل بيانات يجب أن يعرفها مبرمج جافا
نشرت: 2022-08-20تعد هياكل البيانات جزءًا لا يتجزأ من تخزين البيانات وتنظيمها لسهولة التشغيل في الجهاز. تُستخدم هياكل البيانات على نطاق واسع ومتنوع في مجالات متعددة من هندسة البرمجيات أو علوم الكمبيوتر. يمكنك إدارة البيانات في الذاكرة بطرق لا حصر لها ، ومن هنا يأتي استخدام هياكل البيانات.
هناك نوعان من هياكل البيانات ، وهما هياكل البيانات البدائية وغير البدائية.
تحقق من دوراتنا المجانية المتعلقة بتطوير البرمجيات.
بنية البيانات البدائية هي نوع بيانات بدائي ، على سبيل المثال ، char و int و float و pointer و double. يمكن أن تحتوي هياكل البيانات هذه على قيمة واحدة. من ناحية أخرى ، تتكون هياكل البيانات غير البدائية من نوعين ، أي هياكل البيانات الخطية وغير الخطية.
استكشف دوراتنا المجانية في تطوير البرمجيات
أساسيات الحوسبة السحابية | أساسيات JavaScript من البداية | هياكل البيانات والخوارزميات |
تقنية Blockchain | رد فعل للمبتدئين | أساسيات Java الأساسية |
جافا | Node.js للمبتدئين | جافا سكريبت متقدم |
في هذه المقالة ، سنناقش أهم خمسة هياكل بيانات ضرورية لمبرمجي Java لمعرفة: -
المصفوفات في جافا
المصفوفة هي كائن ينتمي إلى فئة يتم إنشاؤها ديناميكيًا. ورثت مصفوفة Java فئة الكائن ، والتي تطبق كذلك واجهات قابلة للنسخ والتسلسل. يمكن لمصفوفات Java تخزين الكائنات والقيم الأولية بسهولة أثناء إنشاء مصفوفات أحادية الأبعاد أو متعددة الأبعاد. توفر Java أيضًا ميزة المصفوفات المجهولة ، التي تفتقر إليها C ++.
تحقق من برنامج Full Stack Development Bootcamp (JS / MERN) - وظيفة مضمونة من upGrad
تعتبر المصفوفات في Java مفيدة لتحسين التعليمات البرمجية لاسترداد البيانات وفرزها. يمكننا أيضًا الوصول عشوائيًا إلى أي بيانات في أي موضع مؤشر. ومع ذلك ، يمكن للمصفوفة تخزين الحجم الثابت للعناصر فقط.
استكشف دوراتنا التدريبية الشهيرة في هندسة البرمجيات
ماجستير العلوم في علوم الكمبيوتر من جامعة جون مورس بليفربول و IIITB | برنامج شهادة الأمن السيبراني من معهد كاليفورنيا للتكنولوجيا CTME |
برنامج تدريب تطوير المكدس الكامل | برنامج PG في Blockchain |
برنامج الدراسات العليا التنفيذية في تطوير البرمجيات - تخصص في DevOps | برنامج PG التنفيذي في تطوير Full Stack |
عرض جميع دوراتنا أدناه | |
دورات هندسة البرمجيات |
مثال على مصفوفة جافا
يوجد أدناه مثال على مصفوفة Java ، حيث سيتم الإعلان عن المصفوفة وإنشاء مثيل لها وتهيئتها واجتيازها.
// برنامج Java لإظهار كيفية التصريح والتهيئة والتهيئة
// واجتياز مصفوفة جافا.
فئة Testarray {
العامة الثابتة الفراغ الرئيسي (سلاسل سلسلة []) {
int a [] = new int [5] ؛ // تصريح وإنشاء مثيل
a [0] = 10 ؛ // التهيئة
أ [1] = 20 ؛
أ [2] = 70 ؛
أ [3] = 40 ؛
أ [4] = 50 ؛
// عبور المصفوفة
لـ (int i = 0 ؛ i <a.length ؛ i ++) // length هو خاصية المصفوفة
System.out.println (a [i]) ؛
}}
انتاج:
10
20
70
40
50
مهارات تطوير البرمجيات عند الطلب
دورات جافا سكريبت | دورات جافا الأساسية | دورات هياكل البيانات |
دورات Node.js | دورات SQL | دورات تطوير مكدس كاملة |
دورات NFT | دورات DevOps | دورات البيانات الضخمة |
دورات React.js | دورات الأمن السيبراني | دورات الحوسبة السحابية |
دورات تصميم قواعد البيانات | دورات بايثون | دورات العملات المشفرة |
الأشجار في جافا
هيكل بيانات الشجرة عبارة عن مجموعة من الكيانات أو الكائنات تسمى العقد المرتبطة ببعضها البعض لمحاكاة أو تمثيل تسلسل هرمي. الأشجار في Java غير خطية لأنها لا تخزن البيانات في تسلسل ولكن في بنية هرمية. لذلك ، يتم ترتيب العناصر في بنية البيانات هذه في مستويات. العقدة العليا في الشجرة تسمى عقدة الجذر. كل من هذه العقد لديها بيانات من أي نوع. تحتوي كل عقدة على بعض البيانات والمرجع أو الارتباط بالعقد الأخرى المعروفة باسم الأطفال.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
في البرمجة و Java ، تكون بنية أي عقدة كما يلي:
عقدة البنية
{
بيانات int؛
عقدة الهيكل * اليسار ؛
عقدة الهيكل * الحق ؛
}
الأكوام في جافا
يُطلق على بنية البيانات الخطية المستخدمة بشكل أساسي لتخزين مجموعة من الكائنات اسم Stack. يعتمد على Last-In-First-Out (LIFO) ويوفر العديد من الفئات والواجهات لتخزين مجموعات الكائنات. إحدى هذه الفئات هي فئة Stack ، التي تحتوي على مُنشئ افتراضي لإنشاء مكدس فارغ. تكون الصيغة كما يلي: -
المكدس العام ()
لإنشاء Stack ، قم باستيراد حزمة java.util أولاً ثم قم بإنشاء كائن من فئة Stack. تكون الصيغة كما يلي: -
Stack stk = مكدس جديد () ؛
أو
Stack <type> stk = مكدس جديد <> () ؛
(يشير النوع إلى نوع المكدس مثل String و Integer وما شابه ذلك.)
يحتوي هيكل بيانات المكدس أيضًا على عمليتين متكاملتين - الدفع والبوب. طريقة الدفع تضع العنصر في أعلى المكدس. إنه مشابه لطريقة addElement (item) المستخدمة في فئة Vector. يتم تمرير عنصر المعلمة أولاً ليتم إدراجه في المكدس. من ناحية أخرى ، تحذف طريقة pop كائنًا موجودًا أعلى المكدس ، ويتم إرجاع نفس الكائن. إذا كان المكدس فارغًا ، فإنه يستخدم EmptyStackException.
اقرأ مقالاتنا الشهيرة المتعلقة بتطوير البرمجيات
كيف يتم تنفيذ تجريد البيانات في Java؟ | ما هي الطبقة الداخلية في جافا؟ | معرّفات Java: التعريف والنحو والأمثلة |
فهم التغليف في OOPS بأمثلة | شرح حجج سطر الأوامر في لغة سي | أهم 10 ميزات وخصائص للحوسبة السحابية في عام 2022 |
تعدد الأشكال في جافا: المفاهيم والأنواع والخصائص والأمثلة | الحزم في Java وكيفية استخدامها؟ | برنامج Git التعليمي للمبتدئين: تعلم Git من الصفر |
قائمة الانتظار في جافا
تعد واجهة قائمة الانتظار جزءًا من حزمة java.util وهي تعمل على توسيع واجهة المجموعة. يتم استخدامه بشكل أساسي لعقد العناصر التي يتم تشغيلها في ترتيب FIFO (First In First Out). تتبع قائمة الكائنات المرتبة هذه مبدأ FIFO (First-In-First-Out) حيث يتم استخدامه لإدراج العناصر في نهاية القائمة وحذف العناصر في بداية القائمة.
للإعلان في هذه الواجهة ، تتطلب قائمة الانتظار فئة محددة. الأكثر شيوعًا بين هذه الفئات هي LinkedList و PriorityQueue ؛ ومع ذلك ، أيا من هذه التطبيقات هو مؤشر الترابط الآمن. لذلك ، غالبًا ما يتم استخدام PriorityBlockingQueue كتطبيق بديل للتنفيذ الآمن لمؤشر الترابط.
يمكن ذكر ما يلي كإعلان واجهة قائمة الانتظار:
قائمة انتظار الواجهة العامة تمتد المجموعة
القوائم المرتبطة في Java
تعد القائمة المرتبطة جزءًا لا يتجزأ من إطار عمل المجموعة في حزمة java.util. الفئة هي تطبيق آخر لهيكل بيانات LinkedList. إنها بنية بيانات خطية حيث لا يتم تخزين العناصر في المواقع المجاورة. كل عنصر في بنية البيانات هذه هو كائن منفصل يحتوي على العنوان وأجزاء البيانات. يتم ربط العناصر بمساعدة العناوين والمؤشرات ، ويسمى كل عنصر من هذه العناصر بالعقد. القوائم المرتبطة ديناميكية ، مع سهولة تنفيذ عمليات الإدراج والحذف. لذلك ، غالبًا ما يتم تفضيلهم أكثر من المصفوفات. ومع ذلك ، فإن العقد لا توفر وصولاً مباشرًا. لذلك ، يحتاج المرء إلى البدء من الرأس والذهاب عبر الرابط للوصول إلى عقدة.
استنتاج
تعتبر هياكل البيانات ضرورية للمبرمجين وعلماء البيانات والمطورين الذين يعملون كأساس لبناء أي عملية حوسبة أو رقمية. لذلك ، من الضروري اكتساب الكفاءة في أي لغة برمجة ، سواء لتطوير البرامج أو تطوير الويب أو علم البيانات. بدون أساس هيكل بيانات قوي ، لا يمكنك البرمجة بشكل فعال. بدون فهم وظائف بنية البيانات ، ستفشل في كتابة التعليمات البرمجية ومعالجة البيانات وتنفيذ الخوارزميات لحل مشكلات الترميز المختلفة. لذلك ، من الضروري أن يكون لديك قاعدة قوية في هياكل البيانات إذا كنت ترغب في بدء مهنة في صناعة البرمجيات أو حتى الجلوس لمقابلة فنية. إذا كان لديك رغبة في معرفة المزيد عن هياكل البيانات ، فيمكنك التحقق من دورة " ماجستير العلوم في علوم الكمبيوتر " التي تقدمها upGrad .
ما هي هياكل البيانات الخطية؟
تسمح بنية البيانات الخطية بتخزين عناصر البيانات بطريقة متسلسلة. تتضمن أنواع هياكل البيانات الخطية المصفوفات والمكدسات وقوائم الانتظار والقوائم والمصفوفات المرتبطة.
ما هي الهياكل غير الخطية؟
لا تحتوي هياكل البيانات غير الخطية على ارتباط تسلسلي لعناصر البيانات. في بنية البيانات غير الخطية ، يتم أيضًا ربط زوج أو مجموعة من عناصر البيانات أحيانًا لأنها لا تتبع تسلسلًا صارمًا للوصول إلى عناصر البيانات.
ما هي الاشجار؟
الأشجار هي هياكل بيانات هرمية غير خطية. الشجرة هي نوع بيانات مجردة يتكون من عقدة جذر (أصل) مع عدة عقد أخرى متصلة بها.