السلام عليكم , كنت اتسائل متى يجب تعلم الخوارزميات و ماهي فائدة تعلمها ؟ و هل يجب تعلمها قبل البدا في تعلم اي لغة برمجة ؟
و ماهي المتطلبات لتعلمها ؟ و اذا امكن مصدر للتعلم و يكون عربي
معظم الجامعات تبدا بتعليم الخوارزميات قبل تعليم البرمجة
لان الخوارزميات هي سلسلة من الخطوات لحل مشكلة
وهذا ايضا ما تقوم بفعله عند البرمجة ، تكتب سلسلة من الخطوات يتبعها الحاسوب لحل مشكلة
ماهي فائدة تعلمها ؟
مقدمة للبرمجة
هل يجب تعلمها قبل البدا في تعلم اي لغة برمجة ؟
ليست بالضرورة ، انا لم اتعلمها لكن اعرف اساسيات البرمجة ، لكن يفضل تعلمها
ماهي المتطلبات لتعلمها ؟
اعتقد فقط رياضيات
و اذا امكن مصدر للتعلم و يكون عربي
قائمة تشغيل من يوتيوب تتضمن شرح الخوارزميات ثم تعلم اساسيات البرمجة بجافا
اتمنى لك التوفيق
الخوارزميات هي الأساس
في رأيي تعلمها يجعل الشخص يفهم كيف تعمل لغات البرمجة
إدا كان هدفك هو لغة برمجة واحدة فقط فيمكنك دراسة أساسيات الخوارزميات فقط لكن ادا كنت تريد ان تصبح مطور محترف في العديد من اللغات فيجب عليك تعلمها حتى مستوى المتقدم و هدا حتى لا تجد مشكلة في عدم فهم شيء ما في لغة برمجة ما
بالإضافة تعلمها لن يأخد وقت كثير :)
صعوبة البرمجة ليست في الخوارزميات، نادر أن تحتاج لكتابة خوارزمية معقدة إلا في أجزاء صغيرة في البرنامج، الصعوبة في تنظيم البرنامج وهندسته قبل أن يتحول لفوضى.
في الجامعات غالباً ماتقسم مواضيع الخوارزميات لمادتين: 1-أساسيات الخوارزميات، وتدرس فيها مقدمة لتحليل الخوارزميات ثم قائمة من خوارزميات البحث والترتيب. 2- تراكيب البيانات وتدرس بها المصفوفات والقوائم المتصلة والمكدس والكومة ثم أشجار البيانات.
الجزء الثاني مهم وغالباً ستحتاجه كثيراً، لكن الجزء الأول ليست بتلك الأهمية الكبيرة فهو لايعلمك كيف تكتب خوارزمية (هذه تعلمك إياها الممارسة والخبرة)، بل مجرد سرد لخوارزميات موجودة، أهم الأشياء به مواضيع تحليل الخوارزمية، معرفة الأشياء النظرية مثل معنى تعقيد الخوارزمية، كـbig-O، ومعنى الحالة الأفضل والأسواء والمتوسط، وخوارزميات البحث الخطي liner والثنائي binary. البحث والترتيب لايهم كثيراً، لأن كثير من لغات البرمجة توفر وظائف ودوال للترتيب عامة الغرض وغالباً تستخدم خوارزميات سريعة للترتيب مثل quicksort أو خوارزميات هجين مثل introsort واستخدمت فيها طرق تحسين مناسبة للغة، خذ نظرة سريعة عليها، ومتى ما احتجتها، يمكنك العودة لها.
هناك موضوع تهمله كتب ومناهج الخوارزميات وتراكيب البيانات وهو طريقة عمل الذاكرة وأنواعها مثل الـsram و dram والتخزين المؤقت في المعالج cpu cache، فهمه سيوضح لك لماذا بعض الخوارزميات وتراكيب البيانات ممتازة نظرياً لكن عند التطبيق تجد أداءها سيئ.
التعليقات