⚡ Naif Sameer ⚡
⚡ Naif Sameer ⚡

@naif4web

13 تغريدة 27 قراءة Jan 05, 2022
هل تساءلت من قبل عن أهميه تعلم الخوارزميات 🤔
ثريد لكل مبرمج عن شرح الخوارزميات
و لماذا يجب تعلمها
مع مثال واقعي للخوارزميات🔥
🧵👇🏻
✴ الخوارزمية :
هي مجموعة من الخطوات المحددة 
والمتسلسلة اللازمة لحل مشكلة ما 
أو من أجل تنفيذ مهمة محددة.
مثال
خوارزمية حساب العمر.
السنة الحالية - سنة الميلاد = العمر 
2021 - 2001 = 20 
👇🏻
مثال آخر .
أحمد يريد الذهاب إلى المتحف.
الطرق المقترحة (الخوارزميات).
1 - استئجار سيارة أجرة 
2 - إستخدام المواصلات العامة
من أجل تحديد أفضل طريقة للذهاب إلى المتحف
 من بين الطرق فوق 
يجب فهم نقطتين أساسيتين
1 - الوقت ( حساب الوقت المستغرق في الوصول إلى المتحف )
👇🏻
2 - التكلفة المادية لكل طريقه
⭕ - سيارة الأجرة
مكلف جدا لكن بوقت أقل
⭕ - المواصلات العامة 
أقل في التكلفة لكن الوقت أكثر من سيارة أجرة
بعد معرفة مميزات وعيوب كل طريقه يجب إختيار أفضل حل بما يناسب ميزانية أحمد 😎
👇🏻
إذا أمتلك أحمد المال الكافي يختار
⭕ سيارة الأجرة
إذا لم يمتلك المال الكافي سوف يختار 
⭕ المواصلات العامة. 
👇🏻
✴ الخوارزميات في البرمجة.
هي مجموعة من التعليمات البرمجية الواضحة التي
 يتم تنفيذها واحدة تلو الآخرى بشكل متسلسل
 لحل مشكلة ما.
👇🏻
مثال. 
⭕ قم بعمل برنامج جمع الأعداد من 1 إلى 1000
(1 + 2 + 3 + ...... 1000)
طرق الحل
✴ إستخدام دوال التكرار 
نقوم بعمل دالة تكرار تجمع الأرقام من 1 إلى 1000 
👇🏻
تهتم دراسة الخوارزميات بعاملين مهمين.
 ⭕ Time complexity
  الوقت الذي يقضيه الكمبيوتر فى تنفيذ الخوارزمية
 
 ⭕ Space complexity
  كمية الذاكرة التي استخدمها البرنامج لتنفيذ الخوارزمية.
👇🏻
باستخدام javascript
``` js 
let total = 0;
for(let i = 1 ; i <= 1000;  i++) {
    total += i;
}
console.log(total);
```
إستخدام هذه الطريقة
لن يستخدم الكثير من الذاكرة 
لكن زمن التنفيذ طويل جدا.
👇🏻
✴ باستخدام القاعدة التالية 
المجموع = N * (N + 1) / 2
حيث N = الرقم الذي نريد الجمع إليه
``` js 
function sumTo(n) {
    return ((n + 1) * n) / 2;
}
let total = sumTo(1000)
console.log(total)
```
هذه الطريقة
لا تحتاج إلى الكثير من الوقت
و لا تستخدم الكثير من الذاكرة 
👇🏻
✳ عوامل جودة الخوارزمية
✴ زمن التنفيذ قليل 
✴ لا تحتاج إلى إستخدام الذاكرة بشكل كبير
✴ خطوات واضحة وسهلة الفهم
✴ تحديد المدخلات والمخرجات بدقة
👇🏻
✳ لماذا يجب تعلم الخوارزميات.
تبرز أهمية تعلم الخوارزميات في
⭕ تحسين وقت تنفيذ البرنامج.
⭕ إستخدام الذاكرة بشكل صحيح.
⭕ تبسيط الكود بسبب الإعتماد على خطوات واضحة وسهلة الفهم
👇🏻
نلتقي في ثريد أخر 😇
إذا أعجبك الثريد لا تنسى تعمل
ريتويت عشان
يستفيد اكبر عدد من الناس 😊
تابع حسابي @naif4web
لجديد المقالات و النصائح
في مجال البرمجة و تصميم الواجهات Ui

جاري تحميل الاقتراحات...