Introduction to Stacks and Queues (Data Structures & Algorithms #12)

CS Dojo
16 Oct 202016:30

Summary

TLDRفي هذا الفيديو، يتم تقديم شرح مبسط لهيكليات البيانات مثل المكدسات (Stacks)، الطوابير (Queues)، والطوابير المزدوجة (Deques). يتم استخدام أمثلة حية مثل كومة من الفطائر لشرح فكرة المكدسات (آخر من يدخل أول من يخرج) وطوابير الأشخاص لشرح مبدأ الطوابير (أول من يدخل أول من يخرج). كما يتم تناول كيفية تنفيذ هذه الهياكل باستخدام المصفوفات وشرح العمليات الأساسية مثل الإضافة والإزالة. في النهاية، يُقترح حل مشكلة برمجية باستخدام المكدس لفحص توازن الأقواس في السلاسل النصية. الفيديو يعرض بشكل شامل كيفية استخدام هذه الهياكل في البرمجة.

Takeaways

  • 😀 المكدس (Stack) هو هيكل بيانات يتم فيه إضافة أو إزالة العناصر من أعلى الهيكل فقط.
  • 😀 يمكن تمثيل المكدس باستخدام مصفوفة حيث يتم تخزين العناصر وتحديد آخر عنصر تمت إضافته باستخدام مؤشر.
  • 😀 يتم استخراج العنصر الأخير الذي تمت إضافته أولاً، وهو ما يعرف بمبدأ (LIFO) أو آخر داخل، أول خارج.
  • 😀 في المصفوفة الممثلة للمكدس، لا يمكنك الوصول إلى أي عنصر آخر سوى العنصر الموجود في الأعلى.
  • 😀 الكيو (Queue) هو هيكل بيانات يتم فيه إضافة العناصر في نهاية الصف وإزالتها من بداية الصف.
  • 😀 الكيو يتبع مبدأ (FIFO) أو أول داخل، أول خارج، حيث يخرج العنصر الأول الذي دخل أولاً.
  • 😀 يمكن تمثيل الكيو باستخدام مصفوفة تحتوي على مؤشرين: واحد للإشارة إلى بداية الصف وآخر للإشارة إلى نهاية الصف.
  • 😀 في التمثيل المصفوفي للكيو، إذا كان المؤشران يشيران إلى نفس العنصر، فهذا يعني أن الكيو فارغ.
  • 😀 إذا وصل المؤشر إلى نهاية المصفوفة، يتم تحريك المؤشر إلى البداية لتشكيل مصفوفة دائرية.
  • 😀 الديك (Deque) هو هيكل بيانات يسمح بإضافة وحذف العناصر من أي طرف من الأطراف، سواء من اليمين أو اليسار.
  • 😀 يمكن تنفيذ عمليات إضافة وحذف العناصر في المكدس والكيو والديك جميعها في وقت ثابت (O(1)) إذا كانت سعة المصفوفة مناسبة.

Q & A

  • ما هو مكدس البيانات؟

    -المكدس هو هيكل بيانات يُمكنك من إضافة أو استرجاع البيانات فقط من أعلى الهيكل. البيانات التي تُضاف آخرًا هي التي يتم إزالتها أولًا، وهو ما يُعرف بمبدأ "الآخر في أولًا".

  • كيف يمكننا تمثيل المكدس باستخدام مصفوفة؟

    -يمكننا تمثيل المكدس باستخدام مصفوفة عن طريق استخدام مؤشر يشير إلى آخر عنصر تم إدخاله في الهيكل. كلما تم إضافة عنصر جديد، يتم تحديث المؤشر ليشير إلى العنصر الجديد.

  • ما هي العمليات الأساسية التي يمكن إجراؤها على المكدس؟

    -العمليات الأساسية على المكدس هي الإضافة (push) والإزالة (pop) من أعلى المكدس. يتم تنفيذ هذه العمليات في وقت ثابت (O(1)).

  • ما هو طابور البيانات؟

    -الطابور هو هيكل بيانات حيث يتم إدخال البيانات في نهاية الطابور ويتم إخراجها من بدايته. هذا يتبع مبدأ "الأول في أولًا".

  • كيف يمكن تمثيل الطابور باستخدام مصفوفة؟

    -يمكن تمثيل الطابور باستخدام مصفوفة من خلال استخدام مؤشرين: أحدهما يشير إلى بداية الطابور والآخر يشير إلى آخر عنصر في الطابور. عندما يخرج عنصر، يتم تحريك المؤشر الذي يشير إلى بداية الطابور.

  • ماذا يعني مبدأ "الأول في أولًا" في الطابور؟

    -مبدأ "الأول في أولًا" يعني أن العنصر الذي يدخل أولًا في الطابور سيكون هو العنصر الذي يتم إخراجه أولًا.

  • ما هي المشكلة التي قد تحدث في تمثيل الطابور باستخدام مصفوفة؟

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

  • ما هو الهيكل البيانات "Deck" أو الطابور المزدوج؟

    -الطابور المزدوج (Deck) هو هيكل بيانات يمكن إضافة وإزالة العناصر من أي طرف من أطرافه. يمكن إضافة أو إزالة البيانات من الأمام أو من الخلف.

  • كيف يمكن تنفيذ عمليات على الطابور المزدوج؟

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

  • ما هو مفهوم التوازن في الأقواس؟

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

Outlines

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Mindmap

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Keywords

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Highlights

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Transcripts

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード
Rate This

5.0 / 5 (0 votes)

関連タグ
تراكيب بياناتمكدساتطوابيرDecksخوارزمياتبرمجةتعليممفاهيم أساسيةتقنيات البرمجةمبتدئين
英語で要約が必要ですか?