الرئيسية   -   
أخرى
مواضيع عامة   -    ريادة الاعمال   -    التقنية   -    تطوير الويب والتطبيقات   -    البرمجة   -    التصميم   -    التسويق والاعلام الاجتماعي   -    العمل الحر والتجارة   -    التدوين   -   
1
1 نقطة ايجابية
0 نقطة سالبة

aymansultan aymansultan
aymansultan

0

منذ 3 سنة

.

.

.

1

لماذا نتعلم الخوارزميات؟ |مازن عبدالله مليباري

إذا بدأت في تعلم `الخوارزميات (Algorithms)` ستجد أن كل المصادر تبدأ بتعليمك `خوارزميات الترتيب (Sorting Algorithms)` ثم تنتقل بعدها `لخوارزميات البحث (Search Algorithm)`، ثم مواضيع أخرى. تتسائل حينها مافائدة أن أتعلم هذه الأشياء؟ أليست كل لغات البرمجة هذه الأيام تحتوي على دوال جاهزة للترتيب و البحث؟ ولماذا تتعلم هذه الخوارزميات إذا كانت معظم البرامج التي ستطورها في حياتك العملية ستستخدم قواعد بيانات، وكل انظمة قواعد البيانات بداخلها أفضل خوارزميات البحث و الترتيب؟ جوابي سيكون من شقيّن ..
1. الخوارزميات كرحلة في عقول العباقرة
إذا كانت هذه الأسئلة تدور في رأسك فغالبا السبب أنك شخص عملي و يهمك أن تعرف كيف تطبق كل شيء تتعلمه بشكل سريع و مباشر. في هذه الحالة أقترح عليك ان تغير نظرتك لموضوع تعلم الخوارزميات و تتعامل معه على أنه رحلة إلى عقول عباقرة البرمجة و علماء الحاسب لترى كيف سيتمكنو من حل المشكلات بطرق مختلفة، كل طريقة لها مميزاتها و عيوبها. تخيل و أنت تتعلم `خوارزميات الترتيب (Sorting Algorithms)` أنك في غرفة ممتلئة بعباقرة علماء الحاسب، و أخبرتهم أن لديك قائمة فيها عدد كبير من العناصر (قائمة فيها كل المغردين العرب على سبيل المثال) و طلبت منهم أن يقومو بترتيب العناصر في القائمة (مثلاً ترتيب المغردين بحسب عدد المتابعين)، ولأنك تعرف أن الذين تتحدث معهم عباقرة طلبتهم أن يجدو طرق مبتكرة لترتيب العناصر بأقل جهد ممكن. سيكتشف العباقرة طرق مختلفة لحل هذه المشكلة التي قدمتها لهم، هذه الطرق هي ببساطة `خوارزميات الترتيب (Sorting Algorithms)` التي ستقرأ عنها في بداية مشوارك في تعلم الخوارزميات. وهكذا الحال مع بقية الخوارزميات، هي رحلة في عقول العباقرة، لترى و تتعلم كيف يمكن أن تنظر لنفس المشكلة من زوايا مختلفة، كل زاوية تقدم لك طريقة مختلفة لحل المشكلة. هذه الرحلة ستطور من مهاراتك و تجعلك تمتلك مهارات جديدة في حل المشكلات.
2. الخوارزميات كأساس لمواضيع متقدمة
إذا كنت ستبني نظام معقد و متطور مثل: `نظام تشغيل (Operating System)` أو نظام يعتمد على `الذكاء الاصطناعي (Artificial Intelligence)` أو أي نظام متطور آخر، فستحتاج أن تتعلم و تبتكر الكثير من الخوارزميات المعقدة. من الصعب أن تبدأ في تعلم هذه الخوارزميات المعقدة بشكل مباشر بدون أن تكون على دراية بالأساسيات. فكر فيها كما لو أنك تريد ان تعلم شخص مواضيع متقدمة في الرياضيات وهو لايعرف أساسيات الحساب البسيطة، ستكون مهمة شبه مستحيلة. كذلك الحال مع الخوارزميات البسيطة التي تتعلمها في بداية مشوارك، اعتبرها الأساس الذي تحتاجه حتى تتمكن لاحقا من الغوص في المواضيع المعقدة.
أتمنى لك رحلة ممتعة في عقول العباقرة
0

3 سنة

( )

( )

( )

مشاركة
1
1 نقطة ايجابية
0 نقطة سالبة
اضافة تعليق جديد

التعليقات