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

Problem Solving

Ibrahim Almahdy

السؤال

نشر (معدل)

عايز ابدأ احل problem solving على js عايز المواقع المتدرجه في المسائل وهكذا , وازاي ابدا احل يعني طريقة التفكير وهكذا ولما اواجه صعوبه

تم التعديل في بواسطة Ibrahim Almahdy

Recommended Posts

  • 0
نشر
قال Ibrahim Almahdy:

عايز ابدأ احل problem solving على js عايز المواقع المتدرجه في المسائل وهكذا

مرحبا @Ibrahim Almahdy،

البداية في حل المسائل البرمجية باستخدام JavaScript خطوة ممتازة لتقوية مهاراتك وتفكيرك المنطقي. هناك عدة مواقع ممتازة تتدرج في الصعوبة وتناسب المبتدئين تماما. يمكنك البدء بموقع Edabit لانه يقدم مسائل بسيطة جدا ومقسمة حسب المستويات، وهو ممتاز كبداية لكي تعتاد على كتابة الدوال والتعامل مع المدخلات والمخرجات.

بعد ذلك، يمكنك الانتقال الى موقع Codewars الذي يعتمد على نظام الرتب حيث تبدا من الرتبة الثامنة وهي الاسهل وتتدرج نحو الاعلى، وهذا الموقع ممتع جدا لانك تستطيع رؤية حلول الاخرين بعد حل المسالة مما يعلمك طرقا جديدة واكثر كفاءة لكتابة الكود.

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

بالتوفيق إن شاء الله

  • 0
نشر
بتاريخ 4 دقائق مضت قال Chihab Hedidi:

مرحبا @Ibrahim Almahdy،

البداية في حل المسائل البرمجية باستخدام JavaScript خطوة ممتازة لتقوية مهاراتك وتفكيرك المنطقي. هناك عدة مواقع ممتازة تتدرج في الصعوبة وتناسب المبتدئين تماما. يمكنك البدء بموقع Edabit لانه يقدم مسائل بسيطة جدا ومقسمة حسب المستويات، وهو ممتاز كبداية لكي تعتاد على كتابة الدوال والتعامل مع المدخلات والمخرجات.

بعد ذلك، يمكنك الانتقال الى موقع Codewars الذي يعتمد على نظام الرتب حيث تبدا من الرتبة الثامنة وهي الاسهل وتتدرج نحو الاعلى، وهذا الموقع ممتع جدا لانك تستطيع رؤية حلول الاخرين بعد حل المسالة مما يعلمك طرقا جديدة واكثر كفاءة لكتابة الكود.

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

بالتوفيق إن شاء الله

كنت بجرب احل من LeetCode دلوقتي بس معرفتش مع إن مستوايا في JS كويس جدا

  • 0
نشر

يوجد العديد من المواقع التي يمكنك حل تمارين بتسليم في الصعوبة على مختلف التقنيات ولغات البرمجة مثل LeetCode

بتاريخ 3 دقائق مضت قال Ibrahim Almahdy:

كنت بجرب احل من LeetCode دلوقتي بس معرفتش مع إن مستوايا في JS كويس جدا

يوجد موقع codewars أسهل قليلاً من leetcode 

كما يمكنك الاطلاع على الإجابات التالية المزيد من التفاصيل

  • 0
نشر

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

وذلك على إفتراض أنّ الدورة التي تقوم بدراستها بها تمارين على ما تعلمته وليس شرح فقط بدون تطبيق عملي، ففي تلك الحالة تستطيع البدء بحل مسائل صغيرة فور تعلم أي مفهوم جديد (مثل مسائل حسابية بسيطة)، أي الجمع بين التعلم النظري والتطبيق عبر التمارين مثل منصات HackerRank أو Edabit أو Codewars للمبتدئين، حيث تبدأ بالتدرج من خلال منصة سهلة نسبيًا مثل Codewars وحل الأسئلة السهلة ثم المتوسطة ثم الصعبة، ثم الإنتقال لمنصة leetcode وحل المسائل التي بها بدءًا من مستوى متوسط فما فوق.

لكن قبل حل المسائل البرمجية، عليك تعلم أساسيات هياكل البيانات والخوارزميات أي مفاهيم بسيطة من الـ DSA مثل:

  • Arrays وطرق التعامل معها.
  • Strings والخوارزميات الأساسية عليها مثل عكس النصوص، البحث عن عنصر.
  • Time Complexity بشكل بسيط مثل فهم الفرق بين O(n) و O(n^2).

بعد حل أي مسألة، اقرأ حلول الآخرين لتعلم تقنيات جديدة وخصص وقتًا يوميًا للحل (حتى لو 30 دقيقة)، وتستطيع التعمق في DSA عند الانتقال للمسائل المتوسطة، حيث ستتعلم هياكل البيانات الأساسية Linked Lists, Stacks, Queues, Hash Tables, Trees.

والخوارزميات أساسية:

  • البحث الخطي والثنائي Linear/Binary Search.
  • الفرز السريع والدمج Quick Sort, Merge Sort.
  •  الاجتياز Traversal للأشجار مثل BFS, DFS.

ثم تعلم المفاهيم المتقدمة من DSA قبل المسائل الصعبة Hard، وستتعلم Dynamic Programming وGraph Algorithms (مثل Dijkstra, Kruskal)، بالإضافة إلى Advanced Trees (مثل AVL Trees, Trie)، وركّز على الفهم العميق للنظريات كالفرق بين Greedy و Dynamic Programming.

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

 

  • 0
نشر

شكرا لك بشمهندس مصطفى على نصائحك الثمينه واظن ما قولته موجود في طريقة تعلمي ف البرمجة الذي ارسلته لك وقولت لك هكذا صحيح ام لا وقولت لي أنك سترد لاحقا

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...