في البوست ده هتكلم عن حاجة مهمة جدًا في مجال البرمجة ..
- الخوارزميات "Algorithms"
أولاً : سبب التسمية :
نسبةً للعالِم الأشهر في عالم الرياضيات
"أبو جعفر محمد بن موسى الخوارزمي" ..
المعنى :
أبسط تعريف لها أنها :-
مجموعة خُطوات يتم اتباعها لتنفيذ أمر ما ..
مثال بسيط ..
لو شخص عايز يبحث عن مُصطلح معين عن طريق الانترنت ..
إيه هي الخطوات اللي هيعملها ..
- يحدد المجال اللي هيبحث عن المصطلح ده فيه ..
- يفكر في المصطلحات المُشابهة له ..
- يحدد هل يبحث بالعربي أو أي لغة مختلفة ..
- ...
- ....
- إلى أن ينتهي لأنه يحدد محرك البحث الأفضل لبحثُه ..
- ثم يحصل على ناتج البحث ..
مجموعة الخطوات اللي أنا كتبتها دي ، هي "الخوارزمية" ، تلقائيًا خلوا عقلكوا يترجم كلمة خوارزمية إنها "الخطوات" المُتبعة لحل مُشكلة ما ، و ده المصطلح اللي بنسمعه أو نشوفه كتير "Solving problems" ..
طيب هل الخوارزميات دي لها أنواع ؟
- لها أنواع كتير جدًا طبعًا ، و كل نوع منها على حسب الغرض اللي بيتم استخدامه فيه ..
على سبيل المثال ..
أشهر نوع منها هو "Sorting Algorithm" خوارزمية الترتيب ..
من إسمها ، بتقوم بترتيب عناصر ما ..
و بتحتوي الخوارزمية دي على أكتر من نوع بداخلها حسب الغرض منه ..
هذكر مثالين :-
- خوارزمية الأعداد "Bin sort"
و دي بنستخدمها عند ترتيب مجموعة أعداد ..
- خوازمية "Quick sort"
و دي بيتم استخدامها عند ترتيب مجموعة عناوين كتب مثلاً ..
ده كان مثال على أشهر الخوارزميات ..
طيب سؤال تاني ..
إزاي اشتغل بالخوارزميات دي ؟
- تقدروا تشتغلوا بها مع لغات برمجة كتير ، لكن اللغة الأشهر ارتباطًا بها هي لغة "چاڤا" ..
*تذكير ..
الخوارزميات ليست لغة برمجة ، لكنها مجموعة القواعد المتبعة لتنفيذ أمر ما تم كتابته بلغة برمجة ..
بالظبط زي الـ Html ، لغة وصفية "Page structure " أو لغة بنائية ، و ليست لغة برمجة ..
طيب للي حابب يتعلم الخوارزميات ..
دي مجموعة كتب هتفيدكم ان شاء الله ..
1- تحليل و تصميم الخوارزميات
من هنا https://www.motwr.com/تحليل-وتصميم-الخوارزميات-pdf-تحميل-م…/
2- تراكيب البيانات والخوارزميات
من هنا https://computer-library.com/no_book=167
3- كتاب ماذا بعد الأساسيات
من هنا https://www.motwr.com/كتاب-ماذا-بعد-الأساسيات-البرمجة-لخالد/
طيب لو حد حابب يتعلم من مواقع ..
هتلاقوا هنا شرح للخوارزميات ..
"دي لينكات مباشرة للشرح" ..
- موقع https://www.tutorialspoint.com/data_s…/algorithms_basics.htm
- موقع https://www.geeksforgeeks.org/fundamentals-of-algorithms/
- موقع https://www.programiz.com/dsa
و دي مقالة بسيطة للي حابب يقرأ عن أنواع الخوارزميات ..
من هنا http://www.sfahat.com/p/programming/32
*تذكير
الخوارزميات من أهم الحاجات اللي المفروض يتعلمها المبرمج قبل ما يبدأ في المجال ، خصوصًا قبل تعلم لغة چاڤا لأنها بتسهل كتابة الأكواد في المراحل المتقدمة بعد كده .
- الخوارزميات "Algorithms"
أولاً : سبب التسمية :
نسبةً للعالِم الأشهر في عالم الرياضيات
"أبو جعفر محمد بن موسى الخوارزمي" ..
المعنى :
أبسط تعريف لها أنها :-
مجموعة خُطوات يتم اتباعها لتنفيذ أمر ما ..
مثال بسيط ..
لو شخص عايز يبحث عن مُصطلح معين عن طريق الانترنت ..
إيه هي الخطوات اللي هيعملها ..
- يحدد المجال اللي هيبحث عن المصطلح ده فيه ..
- يفكر في المصطلحات المُشابهة له ..
- يحدد هل يبحث بالعربي أو أي لغة مختلفة ..
- ...
- ....
- إلى أن ينتهي لأنه يحدد محرك البحث الأفضل لبحثُه ..
- ثم يحصل على ناتج البحث ..
مجموعة الخطوات اللي أنا كتبتها دي ، هي "الخوارزمية" ، تلقائيًا خلوا عقلكوا يترجم كلمة خوارزمية إنها "الخطوات" المُتبعة لحل مُشكلة ما ، و ده المصطلح اللي بنسمعه أو نشوفه كتير "Solving problems" ..
طيب هل الخوارزميات دي لها أنواع ؟
- لها أنواع كتير جدًا طبعًا ، و كل نوع منها على حسب الغرض اللي بيتم استخدامه فيه ..
على سبيل المثال ..
أشهر نوع منها هو "Sorting Algorithm" خوارزمية الترتيب ..
من إسمها ، بتقوم بترتيب عناصر ما ..
و بتحتوي الخوارزمية دي على أكتر من نوع بداخلها حسب الغرض منه ..
هذكر مثالين :-
- خوارزمية الأعداد "Bin sort"
و دي بنستخدمها عند ترتيب مجموعة أعداد ..
- خوازمية "Quick sort"
و دي بيتم استخدامها عند ترتيب مجموعة عناوين كتب مثلاً ..
ده كان مثال على أشهر الخوارزميات ..
طيب سؤال تاني ..
إزاي اشتغل بالخوارزميات دي ؟
- تقدروا تشتغلوا بها مع لغات برمجة كتير ، لكن اللغة الأشهر ارتباطًا بها هي لغة "چاڤا" ..
*تذكير ..
الخوارزميات ليست لغة برمجة ، لكنها مجموعة القواعد المتبعة لتنفيذ أمر ما تم كتابته بلغة برمجة ..
بالظبط زي الـ Html ، لغة وصفية "Page structure " أو لغة بنائية ، و ليست لغة برمجة ..
طيب للي حابب يتعلم الخوارزميات ..
دي مجموعة كتب هتفيدكم ان شاء الله ..
1- تحليل و تصميم الخوارزميات
من هنا https://www.motwr.com/تحليل-وتصميم-الخوارزميات-pdf-تحميل-م…/
2- تراكيب البيانات والخوارزميات
من هنا https://computer-library.com/no_book=167
3- كتاب ماذا بعد الأساسيات
من هنا https://www.motwr.com/كتاب-ماذا-بعد-الأساسيات-البرمجة-لخالد/
طيب لو حد حابب يتعلم من مواقع ..
هتلاقوا هنا شرح للخوارزميات ..
"دي لينكات مباشرة للشرح" ..
- موقع https://www.tutorialspoint.com/data_s…/algorithms_basics.htm
- موقع https://www.geeksforgeeks.org/fundamentals-of-algorithms/
- موقع https://www.programiz.com/dsa
و دي مقالة بسيطة للي حابب يقرأ عن أنواع الخوارزميات ..
من هنا http://www.sfahat.com/p/programming/32
*تذكير
الخوارزميات من أهم الحاجات اللي المفروض يتعلمها المبرمج قبل ما يبدأ في المجال ، خصوصًا قبل تعلم لغة چاڤا لأنها بتسهل كتابة الأكواد في المراحل المتقدمة بعد كده .
***********************
***********************
