تطوير الويب

شرح عام عن الخوارزميات

 

الخوارزمية هي مجموعة من التعليمات لحل مشكلة أو إنجاز مهمة. أحد الأمثلة الشائعة للخوارزمية هو الوصفة للطهو ، والتي تتكون من تعليمات محددة لإعداد طبق أو وجبة. يستخدم كل جهاز حاسوب الخوارزميات لأداء وظائفه في شكل إجراءات قائمة على الأجهزة أو البرامج.

مثال
خوارزمية حساب العمر.
السنة الحالية – سنة الميلاد = العمر
2021 – 2001 = 20

مثال آخر .
أحمد يريد الذهاب إلى المتحف.
الطرق المقترحة (الخوارزميات).
1 – استئجار سيارة أجرة
2 – إستخدام المواصلات العامة

من أجل تحديد أفضل طريقة للذهاب إلى المتحف من بين الطرق فوق يجب فهم نقطتين أساسيتين
1 – الوقت ( حساب الوقت المستغرق في الوصول إلى المتحف )

2 – التكلفة المادية لكل طريقه

⭕ – سيارة الأجرة مكلف جدا لكن بوقت أقل

⭕ – المواصلات العامة أقل في التكلفة لكن الوقت أكثر من سيارة أجرة

بعد معرفة مميزات وعيوب كل طريقه يجب إختيار أفضل حل بما يناسب ميزانية أحمد 😎

إذا أمتلك أحمد المال الكافي يختار
⭕ سيارة الأجرة

إذا لم يمتلك المال الكافي سوف يختار
⭕ المواصلات العامة.

What Are Computer Algorithms, and How Do They Work?

✴ الخوارزميات في البرمجة.
هي مجموعة من التعليمات البرمجية الواضحة التي يتم تنفيذها واحدة تلو الآخرى بشكل متسلسل لحل مشكلة ما.

تهتم دراسة الخوارزميات بعاملين مهمين.

⭕ Time complexity الوقت الذي يقضيه الكمبيوتر فى تنفيذ الخوارزمية

⭕ Space complexity كمية الذاكرة التي استخدمها البرنامج لتنفيذ الخوارزمية.

 

مثال.
⭕ قم بعمل برنامج جمع الأعداد من 1 إلى 1000
(1 + 2 + 3 + …… 1000)

طرق الحل
✴ إستخدام دوال التكرار نقوم بعمل دالة تكرار تجمع الأرقام من 1 إلى 1000

باستخدام 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)

هذه الطريقة لا تحتاج إلى الكثير من الوقت و لا تستخدم الكثير من الذاكرة

✳ عوامل جودة الخوارزمية
✴ زمن التنفيذ قليل
✴ لا تحتاج إلى إستخدام الذاكرة بشكل كبير
✴ خطوات واضحة وسهلة الفهم
✴ تحديد المدخلات والمخرجات بدقة

✳ لماذا يجب تعلم الخوارزميات.

تبرز أهمية تعلم الخوارزميات في
⭕ تحسين وقت تنفيذ البرنامج.
⭕ إستخدام الذاكرة بشكل صحيح.
⭕ تبسيط الكود بسبب الإعتماد على خطوات واضحة وسهلة الفهم

 

اترك تعليقاً

زر الذهاب إلى الأعلى