top of page

 الخوارزميات 

7 خوارزميات لابد لكل مبرمج ان يعرفها

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

فعندما تقوم باعداد كوب من الشاى فانك تقوم بتطبيق خوارزميه , لانك تقوم بوضع اوراق الشاى فى الماء ثم القيام بغليها

ثم وضع السكر فى الكوب واخيرا وضع الشاء فى الكوب .

اذا الخوارزميات هى عباره عن الخطوات المتبعه لحل مشكله ما فى هذا المقال نقوم باستعراض اشهر تلك الخوارزميات.

 

Sort Algorithms

 

تعتبر خوارزميه الترتيب هى من اكثر الخوارزميات دراسه و بحث فى مجال علوم الحاسب , الهدف منها هو ترتيب عده

عناصر بترتيب معين . كل لغات البرمجة لديها طريقتها الخاصه فى الترتيب .

بعض اشهر خوارزميات الترتيب هى :

  • Merge Sort

  • Quick Sort

  • Heap Sort

  • Bubble Sort

مثال : الترتيب بحسب السعر أو الشعبيه فى المواقع التجارية.

 

Search Algorithms

 

تقوم هذه الخوارزميه بالبحث عن عنصر معين فى مكان ما ومن اشهر الأمثلة عليها هو ما يعرف بالبحث الثنائى أو

Binary search فهى تقوم بتقسيم العناصر إلى النصف عده مرات الى ان يتم ايجاد العنصر المراد ومن تطبيقاتها

عندما تقوم بالبحث عن اسم ملف مثلا مقطع فيديو معين فهو يقوم بالطريقه السابقه إلى ان يتم أيجاده.

 

Depth/Breadth First Search

 

تستخدم فى البحث ولكن فى ال Data structure وهى من الدول المفيده والمهم جدا ومن اهم تطبيقاتها

  • فى البحث عن المعلومات فى محركات البحث Crawling

  • فى الذكاء الاصطناعى فى بناء الروبوتات مثل الروبوت ألذي يلعب شطرنج

  • أيجاد اقصر الطرق بين نقطتين وحل المتاهات

 

Hashing

 

حاليا من اكثر الخوارزميات المستخدمه فى ايجاد عنصر ما عن طريق المفتاح الخاص به Key/Value pair

يعرف أيضا باسم القاموس أو Dictionary ويقوم بربط كل قيمه تريد حفظها بمفتاح معين لذلك عن البحث عن قيمه

معينه كل ما عليك هو استخدام المفتاح وهى اسرع بكثير من Sort + Search لإيجاد عنصر ما, من اهم التطبيقات

  • فى ال router لتسجيل IPs

  • للتاكد من وجود قيمه معينه فى List حيث أن ال Linear search سيأخذ وقت كبير يتناسب مع عدد العناصر

 

Dynamic Programming

 

تستخدم هذه الخوارزمية لحل المشاكل المعقدة عن طريق تكسيرها إلى أجزاء اصغر , نحل المشاكل الصغيرة نتذكر

حلها جيدا ثم نحل المشاكل الأكبر بسرعه مثال :

ما مجموع 1+1+1+1+1 , ستعدها وتقول 5 ولكن إذا قلت لك اضف واحد ماذا يكون العدد ستجاوب على الفور 6

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

أخرى ال Dynamic Programming تقوم بنفس الطريقة لحل المشكلات الكبيرة .

Exponentiation by squaring

 

اذا اردت ان تحسب 232 كل ما ستفعله هو ان تقوم بعمل loop ل 32 مره لإيجاد الحل , ماذا إذا قلت لك انك يمكنك الحصول

على نفس الجواب بعمل loop ل 5 مرت فقط . هذه الخوارزميه تستخدم لايجاد الحل لرقم مرفوع لقوى كبيره فى وقت صغير جدا

O(log N) (إذا أردت أن تفهم معنى الوقت السابق هذا الموضوع سيفيدك )

String Matching and Parsing

 

واحده من اهم الخوارزميات تستخدم للبحث عن مقطع معين فى نص ضخم , فعندما تستخدم Ctrl +F فانك تقوم بالبحث عن نص ضخم

في الملف باستخدام هذه الخوارزمية , الجدير بالذكر هو أن هذه الخوارزمية تستخدم أيضا خوارزمية ال Hashing لتسريع عمليه البحث .

 

Primality Testing Algorithms

 

تستخدم لتحديد إذا ما كان رقم معين اولى ام لا من اهم تطبيقاتها

  • التشفير

  • تستخدم أيضا في ال Hashing

 

كانت هذه ابرز الخوارزميات المستخدمة في علوم الحاسب والسلام عليكم ورحمه الله

 Algorithms

 المرجع المبسط كائنينة oop

 الخوارزميات المتوازية

لغات البرمجة بالعربي

 خوارزميات البحث والترتيب

  مدخل الى الكائنات oop

 منقول من موقع صفحات

© 2023 by The Voice Project. Proudly created with Wix.com

  • Facebook App Icon
  • Twitter App Icon
  • YouTube App Icon
bottom of page