اذهب إلى المحتوى

لوحة المتصدرين

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      2

    • المساهمات

      19487


  2. Abo Madian

    Abo Madian

    الأعضاء


    • نقاط

      2

    • المساهمات

      4


  3. محمد_عاطف

    محمد_عاطف

    الأعضاء


    • نقاط

      2

    • المساهمات

      9073


  4. Amr Hatem Taweila

    Amr Hatem Taweila

    الأعضاء


    • نقاط

      1

    • المساهمات

      298


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 10/15/25 في كل الموقع

  1. سلام عليكم. لدي أستفسار بخصوص ال Hash Table: إذا كان لدينا قاموس ضخم (فلنأخذ قاموس اللغة الأنجليزية كمثال) فإن أنسب هيكل بيانات لتخزين القاموس هو ال Hash Table لما يوفر من سرعة ثابتة علي حساب الذاكرة. كالمثال التالي: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cs50.h> #include <ctype.h> // Global variables #define ALPHABETS 26 #define MAX 35 // Struct node typedef struct node { string word; struct node* next; } node; // Functions prototypes void EXIT(string msg); node* find_tail(node* head); void insert_node(node** head, string word); void print_linked_list(node* head); void free_linked_list(node* head); int main(int argc, string argv[]) { if (argc != 2) { EXIT("Usage: ./dictionary [N of words]\n"); } short n_of_words = atoi(argv[1]); if (!strcmp(argv[1], "0")) { EXIT("No words added\n"); } else if (!n_of_words) { EXIT("Invalid input\n"); } else if (n_of_words > MAX) { printf("%i ", MAX); EXIT("is the max number\n"); } // Hash table starts here node* dictionary[ALPHABETS] = {NULL}; // Take vocabularies & insert them for (int i = 0; i < n_of_words; i++) { string vocabulary = get_string("Word: "); short hash = toupper(vocabulary[0]) - 'A'; insert_node(&dictionary[hash], vocabulary); } // Print & Free dictionary for (int i = 0; i < ALPHABETS; i++) { printf("%c: ", i + 'A'); if (dictionary[i]) { // print current bucket print_linked_list(dictionary[i]); printf("\n"); // free current bucket free_linked_list(dictionary[i]); } else { printf("\n"); } } } // func1: Exit program function void EXIT(string msg) { printf("%s", msg); exit(0); } // func2: To find the tail of a linked list node* find_tail(node* head) { if (!head) { return NULL; } node* temp = head; while (temp->next) { temp = temp->next; } return temp; } // func3: To insert a node to a linked list void insert_node(node** head, string vocabulary) { node* n = malloc(sizeof(node)); if (!n) { return; } n->word = vocabulary; n->next = NULL; if (!*head) { *head = n; return; } find_tail(*head)->next = n; } // func4: To print linked list items void print_linked_list(node* head) { for (node* temp = head; temp; temp = temp->next) { printf("%s ", temp->word); } } // func4: To free linked list void free_linked_list(node* head) { while (head) { node* temp = head->next; free(head); head = temp; } } أعرف أنها طريقة سيئة لتخزين الكلمات؛ إذ أردنا البحث عن كلمة ما في القاموس, فنعم سنختصر الكثير من الوقت لأننا نعلم في أي Bucket سنبحث, لكن ما زال البحث بطئ (أو حتي بنفس البطئ) لأن البرنامج سيضطر للمرور علي عناصر ال Linked List واحدة تلو الأخري. لذلك قاموا بتوسيع الجدول كي تتقسم العناصر أكثر و أكثر (كل هذا علي حساب الذاكرة). هل يمكن لأحدكم أن يشرح لي هذا التقسيم (في مثال القاموس تحديدا). كما أن هناك عملية تتم علي الكلمات كي نجد ال Bucket بنفس الوقت, ما هي هذه العملية.
    1 نقطة
  2. هل الشرح باللغة العربية هيأثر عليا لما اطلع سوق العمل وعندي مشكلة في الشرح يعني انا مثلا مش متعود ان ال object اسمه كائن وهكذا مع كثير من الامثلة دا في الحاجات اللي اتشرحتلي قبل كدا بالانجليزي فاي الحل
    1 نقطة
  3. السلام عليكم لدي 3 أسئله 1- هل ظروفي تناسبني في تعلم دورة الذكاء الاصطناعي هل تحتاج مخ عبقري ولا انسان عادي مثلي مع ضغوطات الحياة انا حاليا بعمر 34 سنة ولدي عائلة وفوق كذا اشتغل بدوام 8 ساعات مسائي وانا صراحه حابب ادخل المجال واخاف ضغوطي الحياتيه تأثر على تركيزي لكن حقيقه عندي همه ان بدي ادخل ؟ 2- انا انسان تخرجت من الثانويه اداري وليس علمي يعني لا درست كيمياء ولا فيزياء وحاليا اعمل كمساعد صيدلي وظيفة متواضعه وبسيطه جدا فأنا ذكرت هذا الكلام لكي أتأكد هل وضعي يسمح بتعلم الذكاء الاصطناعي يعني يحتاج الى مخ تركيز قوي ولا عادي وازيدكم لست جيدا بالانجليزي هههههه الحاله ميئوسة الحمدالله على كل حال ..... حقيقه انا ابغى اتعلم المجال لان هذا الان هو المستقبل وهو ملك الساحة فحقيقه متردد فقط في مسألة الرياضيات واللغه وطبيعة التخصص الذكاء الاصطناعي ؟ 3- وهل دورة الذكاء الاصطناعي في اكاديمية حاسوب كافيه فقط يعني لتوظيف في شركات كبرى وهكذا وبلا شك الارزاق بيد الله بس اقصد من ناحيه كميه العلم والفهم في الدورة ؟ فأرجو الله يسعدكم ويبارك فيكم تجاوبوني جواب يمحي هذا التردد وابدأ وشكرا
    1 نقطة
  4. في الدورة يتم شرح الأساسيات المطلوبة فقط في الدروس لهذا لن تحتاج إلى دراسة رياضيات خارجية لمتابعة الدروس . ولكنك بالطبع ستحتاج إلى تعلم الكثير من الرياضيات وخصوصا الجبر الخطي للتقدم في المجال وفهم التقنيات المتقدمة في المجال . وإليك الإجابات التالية لكيفية تعلم الرياضيات المتعلقة بالذكاء الإصطناعي : ولكن أغلب الكورسات هي باللغة الإنجليزية وأيضا هذا المجال يحتاج إلى لغة إنجليزية جيدة لتعلمه وحتى للعمل فيه بعد ذلك .
    1 نقطة
  5. اشكرك على اجابتك طيب يعني ايش في دورة ادخلها عشان تحاول التبسيط للأسف انا تقريبا لي 15 سنة متخرج من الثانوية فأظن نسيت كل شيء في الرياضيات فهل هناك شيء يساعدوني وطبعا ومايكونش انجليزي لاني لست جيدا في الانجليزي
    1 نقطة
  6. وعليكم السلام ورحمة الله وبركاته. أولا إن مجال الذكاء الإصطناعي واسع جدا وستأخذ وقتا وجهدا كبيرا لدراسته بشكل جيد وحتى بعد الدراسة سيتوجب عليك التعلم دائما لما يحدث من تطوير مستمر في هذا المجال وبشكل كبير. أى أنه سيحتاج إلى أن توفر وقتا كافايا للدراسة يوميا لتستطيع التقدم فيه. لذلك إذا كنت تريد أو تحب العمل في مجال الذكاء الإصطناعي ولا تمانع من المذاكرة وتخصيص وقت لذلك والإطلاع دائما على التطويرات فيمكنك الإشتراك في دورة الذكاء الإصطناعي فهي جيدة وأيضا إذا كان لديك خبرة سابقة في الجبر الخطي وفي الإحصاء وفي الرياضيات عموما فهذا سيكون جيد ومناسب بالنسبة لك. وهي بالطبع تحتاج إلى شخص ذكي وليس بالضرورة أن يكون عبقري ولكن شخص ذكي يستطيع الفهم بشكل جيد ويتعامل مع الرياضيات وفهمها بشكل جيد لإعتماد المجال بشكل كبير على الرياضيات . أى أنه لو هناك شخص ما لا يحب الرياضيات فسيجد المجال صعب بسبب هذا الأمر. وبما أنك لديك مسؤوليات وأيضا دوام عمل وضغوطات فالأمر يعتمد عليك هل تستطيع توفير وقت ثابت يوميا للدراسة مثلا ساعتين أو أكثر ؟ وكما وضحت لك أن المجال ليس سهلا ويحتاج إلى مجهود ووقت كبير فهنا أنت الأعلم بأمورك وكيفية تنظيمك لوقتك فيمكنك بنفسك الإجابة على هذا السؤال بعد قراءة التفاصيل السابقة التي وضحتها لك. ونعم الدورة بعد إنهائها تستطيع أن تكون شخص مبتدأ في مجال الذكاء الإصطناعي وأن تعمل في شركة أو مشاريع مستقلة لك وهذا لو قمت بإتمامها وإنهائها بفهم جيد لها . وإليك ما ستتعمله في الدورة وما الذي ستؤهلك إليه من خلال الإجابة التالية :
    1 نقطة
  7. في الواقع العملي لا يتم استخدام المصطلحات العربية بالفعل، اللغة الإنجليزية هي لغة البرمجة، لكن الدارسين بالأكاديمية لغتهم الأولى هي العربية لذا المحتوى موجه لهم في المقام الأول ويتم في معظم الدروس توضيح المصطلح بالإنجليزية أيضًا، وفي حال لم يتم ذكر ذلك، أرجو الاستعانة بموسوعة حسوب وابحث عن المصطلح وستجده بالعربية والإنجليزية. وفي حال واجهت صعوبة في استيعاب مصطلح ما، تستطيع الاستفسار أسفل الدروس وسيتم توضيحه لك، ويجب معرفة المصطلح بالعريبة والإنجليزية حتى تتمكن من البحث عنه بالرغم من أنّ الإنجليزية أهم بالطبع لكون المصادر أغلبها بالإنجليزية ولن تحتاج العربية إلا في حال شرح أمر ما لشخص آخر أو للفريق وحتى في تلك الحالة يتم استخدام المصطلحات الإنجليزية. وعامًة ستجد مصطلحات متكررة ومستخدمة في أغلب البرمجة ها هي: متغير - Variable: مكان في الذاكرة لتخزين البيانات. نوع البيانات - Data Type: يحدد نوع البيانات التي يمكن تخزينها في المتغير (مثل: نص، عدد صحيح، عدد عشري). عامل - Operator: رمز أو كلمة تستخدم لتنفيذ عملية على البيانات (مثل: + للجمع، - للطرح). تعبير - Expression: مجموعة من المتغيرات والعوامل التي تُرجع قيمة. شرط - Condition: تعبير منطقي يُرجع إما صحيح أو خطأ. جملة - Statement: سطر من التعليمات البرمجية التي تُنفذ مهمة محددة. كتلة - Block: مجموعة من الجمل التي تُنفذ معًا. دالة - Function: مجموعة من التعليمات البرمجية التي تُنفذ مهمة محددة وتُعيد قيمة. معامل - Parameter: قيمة تُمرر إلى دالة عند استدعائها. مصفوفة - Array: مجموعة من البيانات من نفس النوع مخزنة في مكان واحد. حلقة - Loop: تُستخدم لتكرار مجموعة من التعليمات البرمجية عدة مرات. مصفوفة ترابطية - Associative Array / Dictionary: مجموعة من البيانات مخزنة كأزواج من المفتاح والقيمة. كائن - Object: كيان يجمع بين البيانات والوظائف التي تعمل على هذه البيانات. فئة - Class: قالب لإنشاء الكائنات. وراثة - Inheritance: آلية تسمح لفئة ما بوراثة خصائص وصفات فئة أخرى. تعدد الأشكال - Polymorphism: القدرة على استخدام نفس الاسم لوظائف مختلفة في سياقات مختلفة. ملف - File: مجموعة من البيانات المخزنة على وسيط تخزين دائم. استثناء - Exception: حدث غير طبيعي يحدث أثناء تنفيذ البرنامج. معالجة الاستثناءات - Exception Handling: آلية للتعامل مع الاستثناءات ومنع تعطل البرنامج. وبالنسبة للمصطلحات الخاصة ببايثون: وحدة - Module: ملف يحتوي على تعليمات برمجية بايثون يمكن استخدامه في برامج أخرى. حزمة - Package: مجموعة من الوحدات النمطية. قائمة - List: مجموعة مرتبة من العناصر قابلة للتغيير. مجموعة - Tuple: مجموعة مرتبة من العناصر غير قابلة للتغيير. مجموعة - Set: مجموعة غير مرتبة من العناصر الفريدة. قاموس - Dictionary: مجموعة غير مرتبة من أزواج المفتاح والقيمة. تعليمة استيراد - Import Statement: تُستخدم لاستيراد وحدات أو حزم في البرنامج. ديكوريتور - Decorator: دالة تُعدل سلوك دالة أخرى. مولد - Generator: دالة تُعيد سلسلة من القيم. استدعاء ذاتي - Recursion: عندما تستدعي الدالة نفسها داخل تعريفها. تعبير لامبدا - Lambda Expression: دالة مجهولة تُعرّف وتُستخدم في سطر واحد. استيعاب القائمة - List Comprehension: طريقة لإنشاء قائمة جديدة من قائمة موجودة في سطر واحد. استيعاب المجموعة - Set Comprehension: طريقة لإنشاء مجموعة جديدة من مجموعة موجودة في سطر واحد. استيعاب القاموس - Dictionary Comprehension: طريقة لإنشاء قاموس جديد من قاموس موجود في سطر واحد. إدارة الحزم - Package Management: عملية تثبيت وتحديث وإزالة الحزم. بيئة افتراضية - Virtual Environment: بيئة معزولة لتشغيل مشروع بايثون بتبعياته الخاصة.
    1 نقطة
  8. 1 نقطة
  9. السلام عليكم دي المشكله Oops something went wrong An unknown error occurred. We suggest downloading a copy of your notebook to avoid losing your work, then refresh your browser. وكمان بعد ما اعمل refresh الNotebook مش بترض تحفظ اي حاجه جديد سواء كان الحفظ التقائي او الحفظ اليدو العادي ؟
    1 نقطة
  10. قم أولاً بتحميل نسخة من الـ Notebook لتفادي حدوث خطأ ويضيع مجهودك، وذلك بالضغط على File بالأعلى ثم Download Notebook. ولحل المشكلة الحفظ قم بتجربة الضغط على السهم بجانب Save Version أعلى اليسار، ثم اختار Save and Run All (Save Version) ثم اكتب Quick Save واضغط Save. إن استمرت المشكلة قم بإعادة تشغيل الجلسة، بالضغط على Run ثم Restart Session، ثم اضغط على file واختار import notebook وقم باختيار الملف الذي قمت بتحميله لاستيراده.
    1 نقطة
  11. انا عمرو لسه داخل سنويه عامه وبدرس دورة الذكاء الاصطناعي سؤالي : هل ممكن استخدم نوذج زي Llama في عملية التدريب بحيث ممكن اعمله fine tuning بالكتب الدراسيه اللي عندي في حاجه زي Docker مثلا بحيث لو في حاجه مش فاهمها يقدر يجاوب علي اسئلتي بسرعه بدون ما اسأل مدرس وبشكل دقيق ودي حاجه ممكن تسرع فهمي للماده في اسئله بتبقي اجابه سريعه تساعدني افهم بشكل افضل انا عارف اني ممكن اعمل حاجه زي كده بس عايز الطريقه وحد يزودني بمعلومات الصعوبات اللي هواجها في المشروع ده وكده يعني
    1 نقطة
×
×
  • أضف...