Skip to Sidebar Skip to Content
اقرأ-تك اقرأ-تك
ضيفنا الكريم

  • قائمة القراءة
  • تسجيل الدخول
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©

Hands On How to Build a Dynamic Array

  • Ahmed Anwar by Ahmed Anwar
    Ahmed Anwar Ahmed Anwar
    Software Technical Writer
    • Website
  • •
  • 22 Jun, 2023
  • •
  • 4 min read
  • Share on X
  • Share on Facebook
  • Share on LinkedIn
  • Share on Pinterest
  • Email
Hands On How to Build a Dynamic Array
Hands On How to Build a Dynamic Array
  • Data Structures and Algorithms
  • Python

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

من أكثر هياكل البيانات شيوعاََ هو  الـdynamic array أو ما يعرف ب List في لغة python أو Vector في لغة ++c، في هذا المقال سنبدأ باستعراض أهم مميزات وعيوب ال array ثم سنبدأ في التفكير في كيفية تنفيذ  الـdynamic array الخاص بنا.

كيف تعمل  الـMemory ؟

لنبدأ حديثنا بفهم كيفية عمل ذاكرة الكمبيوتر، يمكننا التفكير في ذاكرة الكمبيوتر كمجموعة من الأماكن المتجاورة حيث لكل مكان العنوان الخاص به و يمكننا الوصول له من خلال هذا العنوان. 

الشكل التالي توضيح لذاكرة الكمبيوتر، كل مربع في الصورة هو مكان لتخزين المعلومات و 0x1c16af76960 هو عنوان المكان المشار إليه.

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

هذا بالنسبة لتخزين شئ واحد فقط في الذاكرة، ولكن ماذا لو أردنا تخزين عدة أشياء في نفس الوقت ؟ هنا يأتي دور ال array، يعد ال array أحد أهم وأبسط هياكل البيانات وأكثرها شيوعاََ حيث يسمح لنا  الـ array بتخزين مجموعة من البيانات من نفس النوع بجوار بعضهم البعض.

ميزة الـ Array

الميزة الأهم لل array هي الـ  random access وهي إمكانية الوصول لأي مكان داخل الـ array في وقت ثابت بغض النظر عن المكان وعن حجم  الـ array، لماذا ؟ 

لنفترض أن ال array يحتوي علي 5 عناصر وأنه يبدأ عند العنوان 00، كما في الصورة التالية

لو سألتك ما عنوان العنصر الخامس، ستقوم بعملية جمع بسيطة ثم تخبرني أن عنوان المكان الخامس هو 04، و يمكننا تعميم عملية الجمع هذه على array من أي حجم كالتالي:

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن وتصفح كافة المقالات المميزة واستمتع بمحتوى حصري وابق على اطلاع دائم بالتحديثات المستمرة.

اشترك الآن 🚀

هل لديك حساب؟ تسجيل الدخول

في هذا المقال
اشترك الآن واكمل قراءة المقال
قناة اقرأ-تِك على التليجرام قناة اقرأ-تِك على التليجرام

اشترك الآن بنشرة اقرأ‑تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!

مقالات ذات صلة

  • Java Collections Cheatsheet 1 min read

    Java Collections Cheatsheet

    Mahmoud Youssef Mahmoud Youssef • 25 Aug, 2024
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • The Power of Recursion 9 min read

    The Power of Recursion

    Ahmed Anwar Ahmed Anwar • 8 Jan, 2024
    Ahmed Anwar Ahmed Anwar
    Software Technical Writer
    • Website
  • Making Sense of Recursion - Full Guide 5 min read

    Making Sense of Recursion - Full Guide

    Ahmed Anwar Ahmed Anwar • 3 Dec, 2023
    Ahmed Anwar Ahmed Anwar
    Software Technical Writer
    • Website
  • Data Structures Use Cases In a Nutshell 1 min read

    Data Structures Use Cases In a Nutshell

    Mahmoud Youssef Mahmoud Youssef • 24 Oct, 2023
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Grokking Algorithms Book Recommendation

    Grokking Algorithms Book Recommendation

    Mahmoud Youssef Mahmoud Youssef • 17 Oct, 2023
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Analysis of Problem Solving Interviews 1 min read

    Analysis of Problem Solving Interviews

    Abanoub Asaad Abanoub Asaad • 30 Jun, 2023
    Abanoub Asaad Abanoub Asaad
    Software Engineer
    • Data Structures Use Cases Part 2 1 min read

      Data Structures Use Cases Part 2

      Alaa Elkzaz Alaa Elkzaz • 7 May, 2023
      Alaa Elkzaz Alaa Elkzaz
      Co-Founder & Software Engineer
      • Website
    • Data Structures Use Cases Part 1 1 min read

      Data Structures Use Cases Part 1

      Alaa Elkzaz Alaa Elkzaz • 27 Apr, 2023
      Alaa Elkzaz Alaa Elkzaz
      Co-Founder & Software Engineer
      • Website
    • How Choosing The Right Data Structures Affects Performance 1 min read

      How Choosing The Right Data Structures Affects Performance

      Mahmoud Youssef Mahmoud Youssef • 25 Feb, 2023
      Mahmoud Youssef Mahmoud Youssef
      CEO & Founder
      • X
      • Facebook
      • Website
    اقرأ-تك اقرأ-تك
    • الرئيسية
    • المقالات
    • خطط الاشتراك
    • - اصدارتنا
    • ورقة وقلم
    • مدونات فطين
    • شنطة مبرمج
    • النشرة الأسبوعية
    • كنوز
    • - تعرف علينا
    • من نحن
    • الشراكات
    • كتاب المحتوى
    • اكتب معنا
    • تواصل معنا
    • - بنود الخدمة
    • سياسة الخصوصية
    • الشروط والأحكام
    الوسوم
    • Backend
    • Distributed Systems
    • System Design
    • Databases
    • LinkedIn
    • X
    • Facebook
    • Telegram
    • GitHub
    جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©