القوائم المترابطة - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: القوائم المترابطة

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

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

يقدم المثال التوضيحي في الشكل 1.31 تفاصيل حول بنية العقدة، حيث تتكون كل عقدة من بيانات ومؤشر يشير إلى العقدة التالية في الذاكرة. يتم عرض عقدة تحتوي على الرقم 15 في العنوان 10، وتشير إلى العقدة التالية في العنوان 20، والتي تحتوي على الرقم 42 وتشير إلى العقدة الثالثة في العنوان 30 بالرقم 37، مع نهاية القائمة بمؤشر Null.

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

📄 النص الكامل للصفحة

على سبيل المثال، إن كنت ترغب في الوصول إلى العقدة الثالثة في القائمة لمعالجة البيانات التي تحتوي عليها، عليك البدء من العقدة الأولى في القائمة، ومن العقدة الثانية للوصول إلى الثالثة. • عنوان العقدة الأولى مخزن في متغير خاص (مستقل) يُطلق عليه عادة الرأس (Head). • قيمة مؤشر العقدة الأخيرة في القائمة قيمة فارغة (Null)، ويُمثل بالرمز •. • عندما تكون القائمة فارغة، يشير مؤشر الرأس إلى القيمة الفارغة (Null). شكل 1.30: الوصول إلى العقدة الثالثة في القائمة المترابطة إليك مثالاً توضيحياً على القائمة المترابطة في الشكل 1.31، كما ذكر من قبل فإن كل عقدة تتكون من بيانات ومؤشر يشير إلى العقدة التالية، بحيث تخزن كل عقدة في الذاكرة في عنوان محدد. --- SECTION: مثال على العقدة: --- • بيانات العقدة هي الرقم 15. • عنوان العقدة في الذاكرة هو 10. • عنوان العقدة التالية هو 20. لتربط العقدة السابقة بالعقدة التالية بقيمة بيانات 42، التي بدورها تشير إلى العقدة الثالثة والأخيرة عند عنوان 30 بقيمة بيانات 37. شكل 1.31: المؤشرات في القائمة المترابطة --- SECTION: جدول 1.8: الاختلافات بين القائمة والقائمة المترابطة --- جدول 1.8: الاختلافات بين القائمة والقائمة المترابطة وزارة التعليم Ministry of Education 45 2023 - 1447 --- VISUAL CONTEXT --- **DIAGRAM**: شكل 1.30: الوصول إلى العقدة الثالثة في القائمة المترابطة Description: A diagram illustrating a linked list with three nodes. The first node is labeled 'العقدة الأولى' (First Node) and contains data '15'. It is pointed to by 'الرأس' (Head). This node points to the second node, labeled 'العقدة الثانية' (Second Node), which contains data '25'. The second node points to the third node, labeled 'العقدة الثالثة' (Third Node), which contains data '30'. The third node points to 'القيم الفارغة' (Null Values), indicated by a dot. Data: Shows the conceptual flow of accessing elements in a linked list by following pointers from the head to subsequent nodes. Key Values: 15, 25, 30 Context: Illustrates the sequential access mechanism of a linked list, where each node points to the next, and the head points to the first node. The end of the list is marked by a null pointer. **DIAGRAM**: شكل 1.31: المؤشرات في القائمة المترابطة Description: A detailed diagram showing three linked list nodes, each represented as a block divided into three parts: 'العنوان/الرأس' (Address/Head), 'البيانات' (Data), and 'العنوان التالي' (Next Address). - Node 1: Address 10, Data 15, Next Address 20. - Node 2: Address 20, Data 42, Next Address 30. - Node 3: Address 30, Data 37, Next Address is a null pointer (represented by a dot). Dashed lines indicate memory addresses, and solid arrows show the pointers linking the nodes. Data: Each node stores its own data and the memory address of the next node. The first node's address is 10, containing data 15 and pointing to address 20. The second node is at address 20, contains data 42, and points to address 30. The third node is at address 30, contains data 37, and its next pointer is null, indicating the end of the list. Key Values: 10, 15, 20, 42, 30, 37 Context: Demonstrates the physical representation of a linked list in memory, highlighting how each node (or 'عقدة') consists of data and a pointer (or 'مؤشر') to the next node's memory location. This explains how elements are linked non-contiguously in memory. **TABLE**: جدول 1.8: الاختلافات بين القائمة والقائمة المترابطة Description: A table comparing the characteristics of 'القائمة' (List/Array) and 'القائمة المترابطة' (Linked List) across several criteria. Table Structure: Headers: الاختلافات | القائمة | القائمة المترابطة Rows: Row 1: طريقة تخزين الذاكرة | المواقع متجاورة في الذاكرة. | المواقع عشوائية في الذاكرة. Row 2: الهيكل | يمكن الوصول إلى كل عنصر برقم الفهرس (Index). | يمكن الوصول إلى العناصر من خلال المؤشر (Pointer). Row 3: الحجم | يُخزن كل عنصر تلو الآخر. | تُخزن العناصر في صورة عقد تحتوي على البيانات وعنوان العنصر التالي. Row 4: استخدام الذاكرة | تُخزن البيانات وحدها في الذاكرة. | تُخزن البيانات والمؤشرات في الذاكرة. Row 5: نوع الوصول إلى البيانات | الوصول العشوائي إلى أي عنصر بالقائمة. | الوصول المتسلسل إلى العناصر. Row 6: سرعة الإضافة والحذف | بطء إضافة العناصر وحذفها. | سرعة إضافة العناصر وحذفها. Data: The table outlines differences in memory storage, structure, size handling, memory usage, data access type, and speed of addition/deletion. Context: This table provides a comparative summary of arrays (القائمة) and linked lists (القائمة المترابطة), highlighting their fundamental differences in memory allocation, data access methods, and operational efficiency for insertions and deletions. It is crucial for understanding when to use each data structure.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هو 'الرأس' (Head) في سياق القوائم المترابطة؟

الإجابة: الرأس (Head) هو متغير خاص ومستقل يخزن عنوان العقدة الأولى في القائمة المترابطة.

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

تلميح: فكر في الكلمة التي تشير إلى بداية شيء ما أو نقطة الانطلاق.

ما هي القيمة التي يشير إليها مؤشر العقدة الأخيرة في القائمة المترابطة؟

الإجابة: قيمة مؤشر العقدة الأخيرة في القائمة المترابطة تكون قيمة فارغة (Null)، ويمثل عادة بالرمز •.

الشرح: يُستخدم مؤشر العقدة الأخيرة لبيان نهاية القائمة. إذا كان المؤشر يشير إلى قيمة فارغة (Null)، فهذا يعني أنه لا توجد عقدة تالية، وبالتالي وصلنا إلى نهاية القائمة.

تلميح: ما هي القيمة التي تدل على عدم وجود شيء تالٍ؟

كيف يتم تمثيل القائمة المترابطة عندما تكون فارغة؟

الإجابة: عندما تكون القائمة المترابطة فارغة، يشير مؤشر الرأس (Head) إلى القيمة الفارغة (Null).

الشرح: إذا كانت القائمة لا تحتوي على أي عقد، فإن الرأس لا يمكن أن يشير إلى عقدة موجودة. لذلك، يشير إلى قيمة فارغة (Null) للدلالة على خلو القائمة.

تلميح: ماذا سيحدث إذا لم يكن هناك أي عنصر في القائمة؟ إلى أين سيشير الرأس؟

ما هي المكونات الأساسية لكل عقدة في القائمة المترابطة؟

الإجابة: تتكون كل عقدة في القائمة المترابطة من جزأين رئيسيين: البيانات (Data) ومؤشر يشير إلى العقدة التالية (Next Address).

الشرح: البيانات هي المعلومة الفعلية المخزنة في العقدة. المؤشر هو المفتاح الذي يربط هذه العقدة بالعقدة التي تليها، مما يسمح بالتنقل عبر القائمة.

تلميح: فكر فيما تحتفظ به العقدة من معلومات، وكيف تعرف مكان العقدة التي تليها.

قارن بين 'القائمة' (Array) و'القائمة المترابطة' (Linked List) من حيث طريقة الوصول إلى البيانات.

الإجابة: في القائمة (Array)، يتم الوصول إلى البيانات بشكل عشوائي باستخدام الفهرس (Index). أما في القائمة المترابطة، فيتم الوصول إلى البيانات بشكل متسلسل (Sequential) عن طريق تتبع المؤشرات من عقدة إلى أخرى.

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

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