Ali Ahmed55 نشر الثلاثاء في 19:03 أرسل تقرير نشر الثلاثاء في 19:03 السلام عليكم هو حل مساله برمجه علي موقع زي LeetCode هل الحل يكون ب هياكل البيانات والخورزميات والا انا ابتكار حل بنفسي ؟ 2 اقتباس
0 محمد عاطف17 نشر الثلاثاء في 19:16 أرسل تقرير نشر الثلاثاء في 19:16 وعليكم السلام ورحمة الله وبركاته. سؤالك غير واضح أو يبدوا أنك لم تقم بطرحه بالشكل الصحيح . أولا إن الخوارزميات هي مجموعة من التعليمات أو الأوامر والأكواد المرتبة لحل مشكلة ما في الرياضيات أو أي مشكلة تواجهك في الحياة اليومية خلال زمن محدد وعدد خطوات محدود. وتتميز الخوارزمية عن الأخرى في سرعة تنفيذها من حيث الوقت ومن حيث المساحة المستخدمة . إذا أى سؤال في موقع LeetCode أو أى مواقع خاصة بحل المشكلات يعتمد بشكل كبير على إكتشافك لخوارزمية جيدة لتقوم بحل المسألة بها أى أن الخوارزمية ليست لغة برمجة او كود ما . بل هي طريقة حل تقوم بتحويلها إلى كود بعد ذلك. لهذا فالبطبع إبتكارك للحل هو إبتكار لخوارزمية للمشكلة التي تعمل عليها . ونعم بالطبع يمكنك إستخدام هياكل البيانات المتاحة في اللغة التي تعمل عليها مثل القوائم و الأشجار و المصفوفات و القواميس و غيرها من هياكل البيانات الأخرى . ويمكنك إنشاء أى هيكل بيانات خاص بك تراه مناسبا لحل المشكلة التي تعمل عليها. أى أولا يجب عليك إنشاء الخوارزمية المناسبة للحل لك ومن ثم يمكنك إنشاء أو إستخدام أى هيكل بيانات يساعدك في تنفيذ تلك الخوارزمية. 1 اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 19:16 أرسل تقرير نشر الثلاثاء في 19:16 المطلوب منك إيجاد حل فعال وصحيح للمشكلة في أقصر وقت ممكن، مع مراعاة الأداء وهما الزمن والمساحة، ولا يُتوقع منك ابتكار هياكل بيانات أو خوارزميات جديدة كليًا من الصفر، بل الاعتماد على الأدوات والمفاهيم المعروفة كالمصفوفات، القوائم المرتبطة، الأشجار، Hash Tables، الخوارزميات الجشعة، البحث الثنائي، أو البرمجة الديناميكية، وتكييفها لحل المشكلة المحددة. الأهم فهم المشكلة من خلال قراءة الوصف وتحديد المطلوب، ثم اختيار الأداة المناسبة بتحديد هيكل البيانات أو الخوارزمية الأنسب حسب طبيعة المشكلة، وبعد الحل تستطيع تحسين أداء الكود، المهم في البداية الوصول للحل. مثلاً لو المشكلة تتطلب البحث السريع عن عنصر، فالـ Hash Tables هي الخيار الأمثل، ولو بحاجة إلى ترتيب البيانات، فستعتمد على خوارزميات الترتيب QuickSort أو MergeSort. بالطبع أحيانًا تحتاج أحيانًا إلى توظيف ما تعلمته وربط المفاهيم ببعضها، أي تعديل هيكل بيانات أو خوارزمية موجودة لتناسب المشكلة، أو الجمع بين أكثر من أداة كاستخدام Heap مع بحث ثنائي Binary Search. كنصيحة، تعلم الأنماط الشائعة للمشاكل ومنها Two Pointers، Sliding Window، DFS/BFS وكيفية تطبيقها، وذلك سيوفر عليك الكثير الوقت، لأن معظم مسائل LeetCode مبنية على أنماط متكررة تستطيع حلها بأدوات معروفة. 1 اقتباس
0 Ali Ahmed55 نشر الثلاثاء في 19:42 الكاتب أرسل تقرير نشر الثلاثاء في 19:42 بتاريخ 24 دقائق مضت قال Mustafa Suleiman: فالـ Hash Tables الHash Tabels ده هو ال dict في باثيون صح كده ؟ اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 19:47 أرسل تقرير نشر الثلاثاء في 19:47 بتاريخ 1 دقيقة مضت قال Ali Ahmed55: الHash Tabels ده هو ال dict في باثيون صح كده ؟ بالضبط، الـ Dictionary هو التطبيق العملي للمفهوم Hash Table في بايثون. اقتباس
0 Ali Ahmed55 نشر الأربعاء في 12:17 الكاتب أرسل تقرير نشر الأربعاء في 12:17 تمام جدا الف شكراا جدا لحضرتكم جزاكم الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو حل مساله برمجه علي موقع زي LeetCode هل الحل يكون ب هياكل البيانات والخورزميات والا انا ابتكار حل بنفسي ؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.