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:
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.
Tədqiqat və analiz: Mövcud həll yollarını və metodları araşdırın. Problemin oxşar variantları ilə tanış olun.[1]
İ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.
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]
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.
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.
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.
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]
↑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. ISBN9780262731447. İstifadə tarixi: 22 July 2020. An algorithm is a recipe, method, or technique for doing something.
↑"An algorithm has one or more outputs, i.e., quantities which have a specified relation to the inputs" (Knuth 1973:5).
↑"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).
↑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).
↑Blair, Ann, Duguid, Paul, Goeing, Anja-Silvia and Grafton, Anthony. Information: A Historical Companion, Princeton: Princeton University Press, 2021. p. 247
Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein. Introduction To Algorithms (3rd). MIT Press. 2009. ISBN978-0-262-03384-8.
Harel, David; Feldman, Yishai. Algorithmics: The Spirit of Computing. Addison-Wesley. 2004. ISBN978-0-321-11784-7.
Hertzke, Allen D.; McRorie, Chris. The Concept of Moral Ecology // Lawler, Peter Augustine; McConkey, Dale (redaktorlar ). Community and Political Thought Today. Westport, CT: Praeger. 1998.