0Pricing
C Academy · درس

الأشجار والرسوم البيانية

استكشفوا هياكل الأشجار والرسوم البيانية لتمثيل البيانات الهرمية والمترابطة شبكيًا

الأشجار والرسوم البيانية درس مجاني في C Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 3 دروس في المجموع.

الأشجار والرسوم البيانية في C

الأشجار والرسوم البيانية في C

الأشجار والرسوم البيانية بنيتا بيانات غير خطيتين تُستخدمان لتمثيل البيانات الهرمية وبيانات الشبكات.

في هذا الدرس، ستتعلمون:

  • كيفية تنظيم الأشجار والرسوم البيانية.
  • كيفية تنفيذ شجرة ثنائية في C.
  • كيفية تمثيل الرسوم البيانية باستخدام قوائم التجاور والمصفوفات.
الأشجار والرسوم البيانية — رسم توضيحي 1

ما هي الشجرة؟

ما هي الشجرة؟

الشجرة هي بنية بيانات هرمية تتكوّن من عقد.

المصطلحات الأساسية:

  • الجذر - العقدة العلوية.
  • الأب والابن - عقد متصلة مباشرةً.
  • الورقة - عقدة ليس لها أبناء.

مثال: عقدة في شجرة ثنائية

مثال: عقدة في شجرة ثنائية

في C، تُعرَّف عقدة الشجرة الثنائية باستخدام struct مع مؤشرين إلى الابن الأيسر والابن الأيمن.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *left, *right;
};

struct Node* createNode(int data) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = data;
    newNode->left = newNode->right = NULL;
    return newNode;
}

int main() {
    struct Node *root = createNode(10);
    return 0;
}

اجتياز الشجرة الثنائية

اجتياز الشجرة الثنائية

طرق الاجتياز:

  • الاجتياز الوسطي (LNR) - الأيسر، العقدة، الأيمن.
  • الاجتياز القبلي (NLR) - العقدة، الأيسر، الأيمن.
  • الاجتياز البعدي (LRN) - الأيسر، الأيمن، العقدة.

مثال: الاجتياز الوسطي

مثال: الاجتياز الوسطي

ينفّذ هذا البرنامج اجتيازًا وسطيًا لشجرة ثنائية.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *left, *right;
};

void inorder(struct Node *root) {
    if (root != NULL) {
        inorder(root->left);
        printf("%d ", root->data);
        inorder(root->right);
    }
}

int main() {
    struct Node *root = malloc(sizeof(struct Node));
    root->data = 10;
    root->left = NULL;
    root->right = NULL;
    inorder(root);
    return 0;
}

ما هو الرسم البياني؟

ما هو الرسم البياني؟

الرسم البياني هو مجموعة من العقد (الرؤوس) المتصلة بالحواف.

يمكن أن تكون الرسوم البيانية:

  • موجّهة - للحواف اتجاه.
  • غير موجّهة - ليس للحواف اتجاه.

تمثيل الرسم البياني

تمثيل الرسم البياني

يمكن تمثيل الرسوم البيانية باستخدام:

  • مصفوفة التجاور - مصفوفة ثنائية الأبعاد تمثّل الاتصالات.
  • قائمة التجاور - قائمة تشير فيها كل عقدة إلى جيرانها.

اجتياز الرسم البياني

اجتياز الرسم البياني

طرق الاجتياز الشائعة:

  • البحث بعرض أول (BFS) - يزور جميع الجيران قبل الانتقال إلى مستوى أعمق.
  • البحث بعمق أول (DFS) - يستكشف المسار بأقصى عمق ممكن قبل التراجع.

الملخص

الملخص

في هذا الدرس، تعلّمت:

  • كيفية تنظيم الأشجار والرسوم البيانية.
  • كيفية تنفيذ اجتيازات الأشجار.
  • كيفية تمثيل الرسوم البيانية واجتيازها.

وبهذا نختتم قسم هياكل البيانات في C!

الأشجار والرسوم البيانية — رسم توضيحي 10

الأسئلة الشائعة

هل درس «الأشجار والرسوم البيانية» مجاني؟

نعم — نص درس «الأشجار والرسوم البيانية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 3 دروس في المجموع.

ماذا ستتعلم في «الأشجار والرسوم البيانية»؟

استكشفوا هياكل الأشجار والرسوم البيانية لتمثيل البيانات الهرمية والمترابطة شبكيًا تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟

لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «الأشجار والرسوم البيانية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟

نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. القوائم المرتبطة
  2. المكدسات والطوابير
  3. الأشجار والرسوم البيانية
← العودة إلى C Academy