Bir alqoritm bir problemə mücərrəd bir həll yolu müəyyən edən dəqiqləşdirilmiş addımların bir ardıcıllığıdır. Probleminiz alqoritm dizaynına aid olduğunda bu etiketi istifadə edin.

Bir alqoritm, aşağıdakı şərtlərə əsasən formal dil əsasında verilən bir sıra təlimatdır:

  • Əlbəttə ki Təlimatların sayı sonlu olmalıdır.
  • Yürürülebilir Bütün təlimatlar, dilə bağlı olaraq, məhdud müddətə uyğun olmalıdır.

Alqoritm deterministik olmamalıdır - bir çox təsadüfi alqoritmlər var, məsələn, QuickSort fırlanma elementinin keyfi bir seçimi ilə.

Alqoritm bir çox şəkildə ifadə edilə bilər:

  • Təlimatların ardıcıllığı kimi
  • Bir blok diaqramı olaraq
  • Mövcud və ya yeni proqramlaşdırma dilində kod kimi
  • İnsan dilində mətn parçası kimi
  • Bir Turing maşın kimi formal hesablama modelində bir tətbiq.
  • Və ya başqa, oxşar yollarla.

Alqoritm problemlərin bir sinifini həll edə bilər. Məsələn, "1 və 3 cəmi" və "4 və 5 cəmi" bir sinifdə problemdir: "iki ədəd tam ədədi". Bundan əlavə, bu problemlər sinfi adətən müxtəlif alqoritmlər tərəfindən həll edilə bilər.

Alqoritm inkişafının mühüm aspektlərindən biri performansdır. Böyük məlumat dəstləri üçün, yaxşı bir alqoritm böyük bir neçə sifariş ilə pis bir alqoritmi məğlub edə bilər. Bir alqoritmin işlənməsi tez-tez Big O və ya qeyd ilə istifadə olunur, lakin böyük sabitləri cəlb edə bilər, çünki asimptotik notation ilə diqqətli olun.

Alqoritmanın əsas təsnifatı alqoritmanın mürəkkəbliyi kimi tanınır.

Alqoritmanın inkişafında başqa bir mühüm addım da doğru olduğunu sübut edir. Alqoritm həqiqətən problemin hər hansı bir forması üçün düzgün nəticə verməlidir. Təklif olunan alqoritm başarısız olanda, biz həmişə bütün şərtlərə diqqət yetirməliyik. Bu, bir neçə metoddan istifadə etməklə, məsələn, Model Verifikasiyası, Onay, Cycle Invariant istifadə edilə bilər.

Əlaqələr

Alqoritmlər üzrə əlavə ehtiyatlar: