Alqoritmin dizaynı

Alqoritmin dizaynı — bir problemi həll etmək üçün sistematik bir yanaşmadır. Bu proses, adətən, aşağıdakı addımları əhatə edir:

  1. Problemin təyini: Həll ediləcək problemi aydınlaşdırın. Problemin tərkibi, giriş və çıxışların müəyyən edilməsi vacibdir.
  2. Tədqiqat və analiz: Mövcud həll yollarını və metodları araşdırın. Problemin oxşar variantları ilə tanış olun.[1]
  3. İdeya generasiyası: Problemi həll etmək üçün mümkün olan bütün yanaşmaları düşünün. Müxtəlif yanaşmaların mümkünlüyünü qiymətləndirin.
  4. Alqoritmin strukturu: Seçdiyiniz yanaşmanın alqoritmini qurun. Adətən, alqoritmin daxilində döngələr, şərtlər və digər kontrol strukturlar istifadə olunur.[2]
  5. Alqoritmin təsviri:[3] Alqoritmi sadə bir dil və ya qrafik ilə təsvir edin. Psevdokod və ya axın diaqramları (flowcharts) istifadə edilə bilər.
  6. Test və təhlil:[4] Alqoritmin düzgün işlədiyinə əmin olun. Müxtəlif test vəziyyətləri ilə alqoritmi sınaqdan keçirin.
  7. Optimallaşdırma: Alqoritmin performansını artırmaq üçün lazım olan düzəlişləri edin. Zaman və məkan mürəkkəbliyini minimallaşdırmağa çalışın.
  8. Sənədləşdirmə: Alqoritmin istifadəsi, tərkibi və iş prinsipləri haqqında sənədlər yaradın.[5]

Bu addımlar, alqoritmlərin dizaynı üçün ümumi bir çərçivə təqdim edir.[6]

  1. Simanowski, Roberto. The Death Algorithm and Other Digital Dilemmas. Untimely Meditations. 14. Chase, Jefferson tərəfindən tərcümə olunub. Cambridge, Massachusetts: MIT Press. 2018. səh. 147. ISBN 9780262536370. December 22, 2019 tarixində arxivləşdirilib. İstifadə tarixi: 27 May 2019. [...] the next level of abstraction of central bureaucracy: globally operating algorithms.
  2. Dietrich, Eric. Algorithm // Wilson, Robert Andrew; Keil, Frank C. (redaktorlar ). The MIT Encyclopedia of the Cognitive Sciences. MIT Cognet library. Cambridge, Massachusetts: MIT Press (2001 tarixində nəşr olunub). 1999. səh. 11. ISBN 9780262731447. İstifadə tarixi: 22 July 2020. An algorithm is a recipe, method, or technique for doing something.
  3. "An algorithm has one or more outputs, i.e., quantities which have a specified relation to the inputs" (Knuth 1973:5).
  4. "A procedure which has all the characteristics of an algorithm except that it possibly lacks finiteness may be called a 'computational methodŞablon:'" (Knuth 1973:5).
  5. Well defined concerning the agent that executes the algorithm: "There is a computing agent, usually human, which can react to the instructions and carry out the computations" (Rogers 1987:2).
  6. Blair, Ann, Duguid, Paul, Goeing, Anja-Silvia and Grafton, Anthony. Information: A Historical Companion, Princeton: Princeton University Press, 2021. p. 247