بنية البيانات الخطية مقابل غير الخطية: الفرق بين بنية البيانات الخطية وغير الخطية

نشرت: 2021-06-16

جدول المحتويات

ما هي بنية البيانات؟

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

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

يمكن تبسيطها على النحو التالي:

البرامج = الخوارزميات + هياكل البيانات

هياكل البيانات = البيانات ذات الصلة + العمليات المسموح بها على تلك البيانات

يمكن تخزين البيانات بطريقتين. يمكن تقسيم هياكل البيانات إلى:

  • بنية البيانات الخطية
  • هيكل البيانات غير الخطي

بنية البيانات الخطية

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

1. صفيف

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

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

2. المكدس

تتبع بنية البيانات قاعدة LIFO (Last In-First Out) حيث تتم إزالة آخر عنصر مضاف للبيانات أولاً. تُستخدم عملية الدفع لإضافة عنصر بيانات على المكدس ويتم استخدام العملية المنبثقة لحذف البيانات من المكدس. يمكن تفسير ذلك من خلال مثال الكتب المكدسة معًا. من أجل الوصول إلى الكتاب الأخير ، يجب إزالة جميع الكتب الموضوعة أعلى الكتاب الأخير بأمان.

3. قائمة الانتظار

تشبه هذه البنية تقريبًا المكدس حيث يتم تخزين البيانات بالتسلسل. الفرق هو أن بنية بيانات قائمة الانتظار تتبع FIFO وهي قاعدة First In-First Out حيث يكون العنصر المضاف الأول هو الخروج من قائمة الانتظار أولاً. الأمامي والخلفي هما المصطلحان المستخدمان في قائمة الانتظار.

Enqueue هي عملية الإدراج و dequeue هي عملية الحذف. يتم تنفيذ الأول في نهاية قائمة الانتظار ويتم تنفيذ الأخير في نهاية البداية. يمكن شرح هيكل البيانات بمثال الأشخاص الذين يصطفون لركوب الحافلة. سيحصل أول شخص في الصف على فرصة للخروج من قائمة الانتظار بينما سيكون آخر شخص يخرج.

4. قائمة مرتبطة

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

5. جداول تجزئة

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

بنية البيانات غير الخطية

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

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

أنواع الهياكل التي تلي اللاخطية هي الأشجار والرسوم البيانية.

1. الأشجار

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

2. الرسم البياني

الرسوم البيانية هي تلك الأنواع من هياكل البيانات غير الخطية التي تتكون من كمية محددة من الرؤوس والحواف. تشارك الرؤوس أو العقد في تخزين البيانات وتُظهر الحواف علاقة الرؤوس. الفرق بين الرسم البياني والشجرة هو أنه في الرسم البياني لا توجد قواعد محددة لربط العقد. يمكن تمثيل مشاكل الحياة الواقعية مثل الشبكات الاجتماعية وشبكات الهاتف وما إلى ذلك من خلال الرسوم البيانية.

يتم استخدام مصفوفة التقارب لتمثيل الرسوم البيانية.

الفرق بين هياكل البيانات الخطية وغير الخطية

لقد ناقشنا الأنواع الخطية وغير الخطية لهياكل البيانات. ولكن ما هي النقاط الرئيسية التي تحدد بنية البيانات الخطية مقابل غير الخطية؟

يتم جدولة الفرق بين بنية البيانات الخطية وغير الخطية أدناه:

بنية البيانات الخطية هيكل البيانات غير الخطي
1 يتم تخزين عناصر البيانات بترتيب خطي في حالة بنية البيانات الخطية. كل عنصر متصل بالعنصر الأول والتالي في التسلسل. يتم ترتيب عناصر البيانات في حالة بنية البيانات غير الخطية بطريقة غير خطية ويتم إرفاقها بشكل هرمي. ترتبط عناصر البيانات بعناصر متعددة.
2 يتكون هيكل البيانات من مستوى واحد. لا يوجد تسلسل هرمي في بنية البيانات الخطية. في هذا الهيكل ، هناك مستويات متعددة تشارك في الهيكل. لذلك يتم ترتيب العناصر بشكل هرمي.
3 يعد تنفيذ البنية الخطية للبيانات أمرًا سهلاً حيث يتم تخزين العناصر بطريقة خطية. يعتبر تنفيذ الهيكل عملية معقدة مقارنة بالبنية الخطية.
4 يمكن إجراء اجتياز العناصر في بنية البيانات الخطية في عملية تنفيذ واحدة لأن البيانات موجودة في مستوى واحد لا يمكن تنفيذ اجتياز العناصر في عملية تنفيذ واحدة فقط. عمليات التشغيل المتعددة مطلوبة لاجتياز البيانات في بنية بيانات غير خطية.
5 لا يوجد استخدام فعال للذاكرة في بنية بيانات خطية. هناك استخدام فعال للذاكرة في بنية بيانات غير خطية.
6 تتضمن أمثلة هياكل البيانات الخطية الصفيف والمكدس وقوائم الانتظار والقائمة المرتبطة. تتضمن أمثلة البيانات غير الخطية الأشجار والرسوم البيانية
7 يتم تطبيق الهيكل الخطي للبيانات بشكل أساسي في تطوير البرمجيات. يتم تطبيق البنية غير الخطية للبيانات في الغالب في الذكاء الاصطناعي ومعالجة الصور.
8 مع زيادة حجم المدخلات ، يزداد تعقيد الوقت. حتى إذا كانت هناك زيادة في حجم المدخلات ، فإن التعقيد الزمني يظل كما هو.
9 قد يوجد نوع واحد فقط من العلاقات بين عناصر البيانات يمكن أن يوجد نوع علاقة رأس برأس أو علاقة رأس بأطراف بين العناصر في نوع غير خطي من بنية البيانات.

أهمية بنية البيانات

أي برامج كمبيوتر صلبة مبنية على مفهوم هياكل البيانات. لا يمكن إنشاء أي برنامج بكفاءة دون استخدام بنية البيانات الصحيحة. نظرًا لوجود موثوقية كبيرة لبرامج الكمبيوتر على أحجام كبيرة من البيانات ، فإن التخزين الفعال للمعلومات مطلوب لسهولة الوصول إلى البيانات. يسمح تطبيق هيكل البيانات بتخزين البيانات بشكل منطقي لسهولة التعديل والوصول.

خاتمة

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

يجب دراسة استخدام بنية البيانات مثل إضافة العناصر وحذفها والوصول إليها وتعديلها بعمق لاكتساب فهم خبير لهياكل البيانات. ومع ذلك ، فإن الخطوة الأولى المهمة نحو مبرمج جيد هي الحصول على فهم أساسي للمفهوم. تسمح هياكل بيانات التعلم بالفهم السهل للغات البرمجة المختلفة. سواء كانت لغة python أو C ++ أو Java ، فإن المفهوم يظل كما هو.

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

إذا كنت محترفًا من المستوى المتوسط ​​وتحلم بأن تصبح محلل بيانات ، يمكنك التحقق من دورة ماجستير العلوم في علوم البيانات للقادة المقدمة من upGrad. ستدربك الدورة من خلال خبراء الصناعة حتى تصبح خبيرًا في هذا المجال.

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

أذكر بعض تطبيقات الحياة الواقعية حيث تم استخدام هياكل البيانات غير الخطية؟

هناك عدد من تطبيقات الحياة الواقعية الشائعة التي تعتمد بشكل أساسي على هياكل البيانات غير الخطية.
تستخدم الرسوم البيانية على نطاق واسع في خوارزميات الذكاء الاصطناعي ومعالجة الصور. يستخدم Facebook الرسوم البيانية للاتصال والتوصية باقتراحات صداقة جديدة.
تستخدم Google الرسوم البيانية أيضًا في ترتيب صفحات الويب وإيجاد المسارات المثلى في تطبيق خرائط Google.
تُستخدم الأشجار في تطبيقات بنية الملفات وعمليات البحث في قواعد البيانات وخوارزميات البحث عن الأنماط والفهرسة في قواعد البيانات.
تُستخدم الأشجار أيضًا في تقنيات ضغط البيانات مثل Huffman Coding ، حيث يتم استخدام تنفيذ كومة الأشجار لترميز البيانات.
تُستخدم بنية بيانات الشجرة أيضًا في حل التعبيرات الرياضية. يتم تقييم التعبير عن طريق إدخال عوامل التشغيل في العقد الداخلية والمعاملات في العقد الطرفية.

ما هي بنية بيانات الكومة وما هي أنواعها؟

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

ما هي بنية بيانات قائمة الانتظار؟ أعط أمثلة من الحياة الواقعية؟

قائمة الانتظار هي بنية بيانات خطية حيث يتم تشغيل العمليات بترتيب FIFO (أول ما يخرج أولاً). يتكون هيكل بيانات قائمة الانتظار من 3 أنواع:
قائمة الانتظار الدائرية : تسمى قائمة الانتظار التي لا يوجد بها خلفية (أي الجبهة الخلفية نفسها) ، قائمة الانتظار الدائرية.
Dequeue: قائمة الانتظار التي تسمح بالإدراج والحذف من كلا الطرفين هي deque.
قائمة انتظار الأولوية : قائمة الانتظار حيث يتم تشغيل العنصر ذي الأولوية الأعلى أولاً هي قائمة انتظار ذات أولوية. إذا كان هناك عنصران لهما نفس الأولوية ، فسيتم تقديم العنصر الأعلى في الترتيب في قائمة الانتظار أولاً.
بعض الأمثلة الواقعية لهيكل بيانات قائمة الانتظار هي:
1. قوائم الانتظار في ماكينة الصراف الآلي .
2. جدولة مهام وحدة المعالجة المركزية.
3. معالجة طلب الموقع.
4. نظام إدارة تيار الإدخال.