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

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

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

الدرس: هياكل البيانات الثابتة والمتغيرة Static and Dynamic Data Structures

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

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

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

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

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

📝 ملخص الصفحة

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

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

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

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

سبق توضيح أن هياكل البيانات هي طريقة فعالة لتخزين البيانات وتنظيمها، وبالإضافة إلى ما تعلمته حول تصنيف هياكل البيانات إلى أولية وغير أولية، فإنه يمكن تصنيفها أيضاً إلى ثابتة (Static) ومتغيرة (Dynamic).--- SECTION: هياكل البيانات الثابتة Static Data Structure --- في البيانات الثابتة، يكون حجم الهيكل ثابتاً، وتُخزن عناصر البيانات في مواقع الذاكرة المتجاورة. تُعدُّ المصفوفة (Array) المثال الأبرز لهياكل البيانات الثابتة.--- SECTION: هياكل البيانات المتغيرة Dynamic Data Structure --- في هياكل البيانات المتغيرة، لا يكون حجم الهيكل ثابتاً ولكن يمكن تعديله أثناء تنفيذ البرنامج، حسب العمليات المنفذة عليه. تُصمم هياكل البيانات المتغيرة لتسهيل تغيير حجم هياكل البيانات أثناء التشغيل. وتُعدُّ القائمة المترابطة (Linked List) المثال الأبرز لهياكل البيانات المتغيرة.--- SECTION: جدول 1.7: مقارنة بين هياكل البيانات الثابتة والمتغيرة --- جدول 1.7: مقارنة بين هياكل البيانات الثابتة والمتغيرة--- SECTION: تخصيص الذاكرة Memory Allocation --- تنتمي القوائم المترابطة (Linked Lists) إلى هياكل البيانات المتغيرة، وهذا يعني أن عُقد القائمة المترابطة لا تُخزَّن في مواقع الذاكرة المتجاورة مثل البيانات في المصفوفات. ولهذا السبب، تحتاج إلى تخزين المؤشر من عُقدة إلى أخرى.تحتاج المصفوفات إلى لبنة ذاكرة متجاورة.لا تحتاج القوائم المترابطة إلى أن تكون متجاورة في الذاكرة ولكن يزداد حجمها بطريقة متغيرة.شكل 1.26: مثال على تخصيص الذاكرة الثابتة والمتغيرة2025 - 1447--- VISUAL CONTEXT --- **TABLE**: جدول 1.7: مقارنة بين هياكل البيانات الثابتة والمتغيرة Description: A table comparing static and dynamic data structures across three criteria: memory size, storage type, and data access speed. Table Structure: Headers: المتغيرة | الثابتة | حجم الذاكرة | أنواع ذاكرة التخزين | سرعة الوصول إلى البيانات Rows: Row 1: يمكن تغيير حجم الذاكرة أثناء التشغيل. | حجم الذاكرة ثابت. | حجم الذاكرة Row 2: تخزن العناصر في مواقع عشوائية في الذاكرة الرئيسية. | تخزن العناصر في مواقع متجاورة في الذاكرة الرئيسية. | أنواع ذاكرة التخزين Row 3: أبطأ. | أسرع. | سرعة الوصول إلى البيانات Context: This table summarizes the key differences between static and dynamic data structures, which are fundamental concepts in computer science for memory management and data organization.**DIAGRAM**: شكل 1.26: مثال على تخصيص الذاكرة الثابتة والمتغيرة Description: Two diagrams illustrating memory allocation. The right diagram shows static memory allocation (الثابتة) where data elements (1, 2, 3, 4, 5) are stored in contiguous memory blocks. The left diagram shows dynamic memory allocation (المتغيرة) where data elements (1, 2, 3, 4, 5) are stored in non-contiguous memory blocks, with dashed arrows indicating pointers linking them. Context: These diagrams visually represent how static data structures (like arrays) require contiguous memory blocks, while dynamic data structures (like linked lists) can utilize non-contiguous memory, relying on pointers to connect elements. This is crucial for understanding memory management and efficiency in programming.

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

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

ما هو التصنيف الآخر لهياكل البيانات بالإضافة إلى أولية وغير أولية؟

الإجابة: يمكن تصنيف هياكل البيانات أيضاً إلى ثابتة (Static) ومتغيرة (Dynamic).

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

تلميح: فكر في كيفية تغير حجم هيكل البيانات أثناء تنفيذ البرنامج.

ما هي السمة الأساسية لهياكل البيانات الثابتة؟

الإجابة: في هياكل البيانات الثابتة، يكون حجم الهيكل ثابتاً، وتُخزن عناصر البيانات في مواقع الذاكرة المتجاورة.

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

تلميح: ركز على مفهوم "الحجم" و"مواقع الذاكرة" في هياكل البيانات الثابتة.

اذكر المثال الأبرز لهياكل البيانات الثابتة.

الإجابة: المصفوفة (Array) هي المثال الأبرز لهياكل البيانات الثابتة.

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

تلميح: ما هو الهيكل الشائع الذي يتطلب تحديد حجمه مسبقًا ويخزن العناصر بشكل متسلسل؟

ما هي السمة الأساسية لهياكل البيانات المتغيرة؟

الإجابة: في هياكل البيانات المتغيرة، لا يكون حجم الهيكل ثابتاً ولكن يمكن تعديله أثناء تنفيذ البرنامج، حسب العمليات المنفذة عليه.

الشرح: الهياكل المتغيرة توفر مرونة كبيرة حيث يمكن تغيير حجمها ديناميكيًا لتلبية متطلبات التخزين المتغيرة، مما يجعلها مناسبة للسيناريوهات التي لا يُعرف فيها حجم البيانات مسبقًا.

تلميح: فكر في قدرة الهيكل على "النمو" أو "التقلص" أثناء تشغيل البرنامج.

اذكر المثال الأبرز لهياكل البيانات المتغيرة.

الإجابة: القائمة المترابطة (Linked List) هي المثال الأبرز لهياكل البيانات المتغيرة.

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

تلميح: ما هو الهيكل الذي يتكون من وحدات (عقد) مرتبطة ببعضها البعض عبر مؤشرات، ويمكن إضافة أو حذف عناصر منه بسهولة؟