logo

Co to jest algorytm | Wprowadzenie do algorytmów

Definicja algorytmu

Słowo Algorytm oznacza Zbiór skończonych reguł lub instrukcji, których należy przestrzegać podczas obliczeń lub innych operacji rozwiązywania problemów
Lub
Procedura rozwiązywania problemu matematycznego w skończonej liczbie kroków, która często obejmuje operacje rekurencyjne .

Dlatego algorytm odnosi się do sekwencji skończonych kroków prowadzących do rozwiązania konkretnego problemu.



Co to jest algorytm

Zastosowanie algorytmów:

Algorytmy odgrywają kluczową rolę w różnych dziedzinach i mają wiele zastosowań. Niektóre z kluczowych obszarów, w których stosowane są algorytmy, obejmują:

  1. Informatyka: Algorytmy stanowią podstawę programowania komputerów i służą do rozwiązywania problemów, od prostego sortowania i wyszukiwania po złożone zadania, takie jak sztuczna inteligencja i uczenie maszynowe.
  2. Matematyka: Algorytmy służą do rozwiązywania problemów matematycznych, takich jak znalezienie optymalnego rozwiązania układu równań liniowych lub znalezienie najkrótszej ścieżki na wykresie.
  3. Badania operacyjne : Algorytmy służą do optymalizacji i podejmowania decyzji w takich dziedzinach, jak transport, logistyka i alokacja zasobów.
  4. Sztuczna inteligencja: Algorytmy stanowią podstawę sztucznej inteligencji i uczenia maszynowego i służą do opracowywania inteligentnych systemów, które mogą wykonywać zadania, takie jak rozpoznawanie obrazów, przetwarzanie języka naturalnego i podejmowanie decyzji.
  5. Nauka o danych: Algorytmy służą do analizowania, przetwarzania i wydobywania wniosków z dużych ilości danych w takich dziedzinach, jak marketing, finanse i opieka zdrowotna.

To tylko kilka przykładów z wielu zastosowań algorytmów. Zastosowanie algorytmów stale się rozszerza wraz z pojawieniem się nowych technologii i dziedzin, co czyni je istotnym elementem współczesnego społeczeństwa.

Algorytmy mogą być proste i złożone, w zależności od tego, co chcesz osiągnąć.



Można to zrozumieć na przykładzie gotowania nowego przepisu. Aby ugotować nowy przepis, należy przeczytać instrukcje i kroki, a następnie wykonać je jeden po drugim, w podanej kolejności. Uzyskany w ten sposób wynik oznacza, że ​​nowe danie jest doskonale ugotowane. Za każdym razem, gdy korzystasz z telefonu, komputera, laptopa lub kalkulatora, korzystasz z algorytmów. Podobnie algorytmy pomagają wykonać zadanie w programowaniu, aby uzyskać oczekiwany wynik.

Zaprojektowane algorytmy są niezależne od języka, tj. są po prostu prostymi instrukcjami, które można zaimplementować w dowolnym języku, a mimo to wynik będzie taki sam, jak oczekiwano.

Jakie jest zapotrzebowanie na algorytmy?

  1. Algorytmy są niezbędne do sprawnego i skutecznego rozwiązywania złożonych problemów.
  2. Pomagają automatyzować procesy i czynią je bardziej niezawodnymi, szybszymi i łatwiejszymi w realizacji.
  3. Algorytmy umożliwiają także komputerom wykonywanie zadań, które byłyby trudne lub niemożliwe do wykonania przez człowieka ręcznie.
  4. Są wykorzystywane w różnych dziedzinach, takich jak matematyka, informatyka, inżynieria, finanse i wiele innych, do optymalizacji procesów, analizowania danych, przewidywania i zapewniania rozwiązań problemów.

Jakie są cechy algorytmu?

Charakterystyka algorytmu



Ponieważ nie stosuje się żadnych pisemnych instrukcji gotowania według przepisu, a jedynie standardowy. Podobnie nie wszystkie pisemne instrukcje programowania są algorytmem. Aby niektóre instrukcje mogły być algorytmem, muszą posiadać następujące cechy:

  • Jasne i jednoznaczne : Algorytm powinien być jednoznaczny. Każdy z jego etapów powinien być jasny we wszystkich aspektach i musi prowadzić tylko do jednego znaczenia.
  • Dobrze zdefiniowane wejścia : Jeśli algorytm nakazuje pobieranie danych wejściowych, powinny to być dobrze zdefiniowane dane wejściowe. Może, ale nie musi, wymagać wprowadzenia danych.
  • Dobrze zdefiniowane wyniki: Algorytm musi jasno określać, jaki wynik zostanie uzyskany, i powinien być również dobrze zdefiniowany. Powinien generować co najmniej 1 wynik.
  • Skończoność: Algorytm musi być skończony, tzn. powinien zakończyć się po skończonym czasie.
  • Wykonalny: Algorytm musi być prosty, ogólny i praktyczny, aby można go było wykonać przy dostępnych zasobach. Nie może zawierać żadnej przyszłej technologii ani niczego takiego.
  • Niezależny od języka: Zaprojektowany algorytm musi być niezależny od języka, tj. musi to być po prostu zwykła instrukcja, którą można zaimplementować w dowolnym języku, a mimo to wynik będzie taki sam, jak oczekiwano.
  • Wejście : Algorytm ma zero lub więcej danych wejściowych. Każdy zawierający operator podstawowy musi akceptować zero lub więcej danych wejściowych.
  • Wyjście : Algorytm generuje co najmniej jedno wyjście. Każda instrukcja zawierająca operator podstawowy musi akceptować zero lub więcej danych wejściowych.
  • Definitywność: Wszystkie instrukcje w algorytmie muszą być jednoznaczne, precyzyjne i łatwe do interpretacji. Odnosząc się do dowolnej instrukcji algorytmu, można jasno zrozumieć, co należy zrobić. Każdy podstawowy operator w instrukcji musi być zdefiniowany bez żadnych dwuznaczności.
  • Skończoność: We wszystkich przypadkach testowych algorytm musi zakończyć się po skończonej liczbie kroków. Każda instrukcja zawierająca operator podstawowy musi zostać zakończona w skończonym czasie. Nieskończone pętle lub funkcje rekurencyjne bez warunków podstawowych nie mają skończoności.
  • Skuteczność: Algorytm musi zostać opracowany przy użyciu bardzo prostych, prostych i wykonalnych operacji, aby można go było prześledzić przy użyciu samego papieru i ołówka.

Właściwości algorytmu:

  • Powinien zakończyć się po upływie określonego czasu.
  • Powinien generować co najmniej jedno wyjście.
  • Powinno zająć zero lub więcej danych wejściowych.
  • Powinien to być środek deterministyczny dający ten sam wynik dla tego samego przypadku wejściowego.
  • Każdy krok algorytmu musi być skuteczny, czyli każdy krok powinien wykonać jakąś pracę.

Rodzaje algorytmów:

Dostępnych jest kilka rodzajów algorytmów. Niektóre ważne algorytmy to:

1. Algorytm brutalnej siły :

To najprostsze podejście do problemu. Algorytm brutalnej siły to pierwsze podejście do znalezienia problemu, gdy widzimy problem.

2. Algorytm rekurencyjny :

Algorytm rekurencyjny opiera się na rekurencja . W tym przypadku problem jest dzielony na kilka podczęści i wielokrotnie wywoływany tą samą funkcją.

3. Algorytm cofania :

Algorytm cofania buduje rozwiązanie przeszukując wszystkie możliwe rozwiązania. Korzystając z tego algorytmu, kontynuujemy budowanie rozwiązania według kryteriów. Ilekroć rozwiązanie zawiedzie, wracamy do punktu awarii, opierając się na następnym rozwiązaniu i kontynuujemy ten proces, aż znajdziemy rozwiązanie lub zajmiemy się wszystkimi możliwymi rozwiązaniami.

4. Algorytm wyszukiwania :

Algorytmy wyszukiwania to te, które służą do wyszukiwania elementów lub grup elementów z określonej struktury danych. Mogą być różnych typów w zależności od podejścia lub struktury danych, w której element powinien się znaleźć.

5. Algorytm sortowania :

Sortowanie to uporządkowanie grupy danych w określony sposób, zgodnie z wymaganiami. Algorytmy pomagające w realizacji tej funkcji nazywane są algorytmami sortowania. Ogólnie algorytmy sortowania służą do sortowania grup danych w sposób rosnący lub malejący.

6. Algorytm mieszający :

Algorytmy mieszające działają podobnie do algorytmu wyszukiwania. Zawierają jednak indeks z identyfikatorem klucza. W hashowaniu klucz jest przypisywany do konkretnych danych.

7. Algorytm dziel i zwyciężaj :

Algorytm ten dzieli problem na podproblemy, rozwiązuje pojedynczy podproblem i łączy rozwiązania, aby uzyskać rozwiązanie końcowe. Składa się z trzech następujących kroków:

  • Dzielić
  • Rozwiązywać
  • Łączyć

8. Chciwy algorytm :

W tego typu algorytmach rozwiązanie jest budowane część po części. Rozwiązanie następnej części opiera się na bezpośrednich korzyściach płynących z następnej części. Rozwiązanie, które przyniesie największe korzyści, zostanie wybrane jako rozwiązanie w następnej części.

co to jest mapa skrótu Java

9. Algorytm programowania dynamicznego :

Algorytm ten wykorzystuje koncepcję wykorzystania już znalezionego rozwiązania, aby uniknąć powtarzania obliczeń tej samej części problemu. Dzieli problem na mniejsze, nakładające się na siebie podproblemy i rozwiązuje je.

10. Randomizowany algorytm :

W algorytmie randomizowanym posługujemy się liczbą losową, dzięki czemu daje to natychmiastową korzyść. Liczba losowa pomaga w podjęciu decyzji o oczekiwanym wyniku.

Więcej informacji na temat rodzajów algorytmów można znaleźć w artykule nt Rodzaje algorytmów .

Zalety algorytmów:

  • Łatwo to zrozumieć.
  • Algorytm to stopniowa reprezentacja rozwiązania danego problemu.
  • W algorytmie problem jest podzielony na mniejsze części lub kroki, dlatego programiście łatwiej jest przekonwertować go na rzeczywisty program.

Wady algorytmów:

  • Napisanie algorytmu zajmuje dużo czasu, więc jest czasochłonne.
  • Zrozumienie złożonej logiki za pomocą algorytmów może być bardzo trudne.
  • Instrukcje rozgałęziające i pętlowe są trudne do pokazania w algorytmach (chochlik) .

Jak zaprojektować algorytm?

Aby napisać algorytm, wymagane są następujące elementy:

  1. The problem który ma zostać rozwiązany przez ten algorytm, czyli jasna definicja problemu.
  2. The ograniczenia problemu należy wziąć pod uwagę przy jego rozwiązywaniu.
  3. The wejście należy podjąć, aby rozwiązać problem.
  4. The wyjście należy się spodziewać, gdy problem zostanie rozwiązany.
  5. The rozwiązanie tego problemu mieści się w zadanych ograniczeniach.

Następnie za pomocą powyższych parametrów pisze się algorytm tak, aby rozwiązał problem.

Przykład: Rozważmy przykład dodania trzech liczb i wydrukowania sumy.

Krok 1: Spełnienie wymagań wstępnych

Jak omówiono powyżej, aby napisać algorytm, muszą zostać spełnione jego warunki wstępne.

  1. Problem, który ma zostać rozwiązany przez ten algorytm : Dodaj 3 liczby i wydrukuj ich sumę.
  2. Ograniczenia problemu, które należy wziąć pod uwagę podczas rozwiązywania problemu : Liczby mogą zawierać tylko cyfry i nie mogą zawierać żadnych innych znaków.
  3. Dane wejściowe, które należy zastosować, aby rozwiązać problem: Trzy liczby do dodania.
  4. Wynik, którego można się spodziewać po rozwiązaniu problemu: Suma trzech liczb przyjętych jako dane wejściowe, tj. pojedyncza wartość całkowita.
  5. Rozwiązanie tego problemu przy danych ograniczeniach: Rozwiązanie polega na dodaniu 3 liczb. Można to zrobić za pomocą operatora „+”, bitowo lub dowolną inną metodą.


Krok 2: Zaprojektowanie algorytmu

Zaprojektujmy teraz algorytm, korzystając z powyższych warunków wstępnych:

Algorytm dodawania 3 liczb i drukowania ich sumy:

  1. POCZĄTEK
  2. Zadeklaruj 3 zmienne całkowite num1, num2 i num3.
  3. Weź trzy liczby, które mają zostać dodane, jako dane wejściowe odpowiednio zmiennych num1, num2 i num3.
  4. Zadeklaruj sumę zmiennej całkowitej, w której będzie przechowywana wynikowa suma 3 liczb.
  5. Dodaj 3 liczby i zapisz wynik w sumie zmiennej.
  6. Wydrukuj wartość sumy zmiennej
  7. KONIEC


Krok 3: Testowanie algorytmu poprzez jego implementację.

Aby przetestować algorytm, zaimplementujmy go w języku C.

stosy Java

Program:

C++ // C++ program to add three numbers // with the help of above designed // algorithm #include using namespace std; int main() { // Variables to take the input of // the 3 numbers int num1, num2, num3; // Variable to store the resultant sum int sum; // Take the 3 numbers as input cout << 'Enter the 1st number: '; cin>> liczba1; cout<< ' ' << num1 << endl; cout << 'Enter the 2nd number: '; cin>> liczba2; cout<< ' ' << num2 << endl; cout << 'Enter the 3rd number: '; cin>> liczba3; cout<< ' ' << num3; // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum cout << ' Sum of the 3 numbers is: ' << sum; return 0; } // This code is contributed by shivanisinghss2110>C // C program to add three numbers // with the help of above designed algorithm #include int main() { // Variables to take the input of the 3 numbers int num1, num2, num3; // Variable to store the resultant sum int sum; // Take the 3 numbers as input printf('Enter the 1st number: '); scanf('%d', &num1); printf('%d ', num1); printf('Enter the 2nd number: '); scanf('%d', &num2); printf('%d ', num2); printf('Enter the 3rd number: '); scanf('%d', &num3); printf('%d ', num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum printf(' Sum of the 3 numbers is: %d', sum); return 0; }>Jawa // Java program to add the three numbers // with the help of above designed // algorithm import java.util.*; class GFG { public static void main(String[] args) { // Variable to store the resultant sum int sum = 0; // Declare the object and initialize with // predefined standard input object Scanner sc = new Scanner(System.in); // Scanner definition // Variables to take the input of // the 3 numbers System.out.println('Enter the 1st number: '); int num1 = sc.nextInt(); // input is an Integer // read by nextInt() function System.out.println(' ' + num1); System.out.println('Enter the 2nd number: '); int num2 = sc.nextInt(); System.out.println(' ' + num2); System.out.println('Enter the 3rd number: '); int num3 = sc.nextInt(); System.out.println(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; System.out.println('Sum of the 3 numbers is = ' + sum); } } /*This code is contributed by Rishab Dugar*/>Pyton # Python3 program to add three numbers # with the help of above designed # algorithm if __name__ == '__main__': # Variables to take the input of # the 3 numbers num1 = num2 = num3 = 0 # Variable to store the resultant sum sum = 0 # Take the 3 numbers as input num1 = int(input('Enter the 1st number: ')) num2 = int(input('Enter the 2nd number: ')) num3 = int(input('Enter the 3rd number: ')) # Calculate the sum using + operator # and store it in variable sum sum = num1 + num2 + num3 # Print the sum print(' Sum of the 3 numbers is:', sum)>C# // C# program to add the three numbers // with the help of above designed // algorithm using System; class GFG { static public void Main () { // Variable to store the resultant sum int sum = 0; // Variables to take the input of // the 3 numbers Console.Write('Enter the 1st number: '); int num1 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num1); Console.Write('Enter the 2nd number: '); int num2 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num2); Console.Write('Enter the 3rd number: '); int num3 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; Console.WriteLine('Sum of the 3 numbers is = ' + sum); } } /*This code is contributed by Pushpesh Raj*/>JavaScript // Javascript program to add three numbers // with the help of above designed // algorithm // Variables to take the input of // the 3 numbers let num1 = 0, num2 = 0, num3 = 0; // Variable to store the resultant sum let sum = 0; // Take the 3 numbers as input console.log('Enter the 1st number: '); num1 = parseInt(prompt()); console.log(' ' + num1 + ' '); console.log('Enter the 2nd number: '); num2=parseInt(prompt()); console.log(' ' + num2 + ' '); console.log('Enter the 3rd number: '); num3=parseInt(prompt()); console.log(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum console.log(' Sum of the 3 numbers is: ' + sum); // This code is contributed by Aman Kumar>
Wyjście

Podaj pierwszą liczbę: 0 Podaj drugą liczbę: 0 Podaj trzecią liczbę: -1577141152 Suma 3 liczb wynosi: -1577141152

Oto algorytm krok po kroku kodu:

  1. Zadeklaruj trzy zmienne num1, num2 i num3, w których będą przechowywane trzy liczby do dodania.
  2. Zadeklaruj sumę zmienną do przechowywania sumy trzech liczb.
  3. Użyj instrukcji cout, aby poprosić użytkownika o wprowadzenie pierwszej liczby.
  4. Użyj instrukcji cin, aby odczytać pierwszą liczbę i zapisać ją w num1.
  5. Użyj instrukcji cout, aby poprosić użytkownika o wprowadzenie drugiej liczby.
  6. Użyj instrukcji cin, aby odczytać drugą liczbę i zapisać ją w num2.
  7. Użyj instrukcji cout, aby poprosić użytkownika o wprowadzenie trzeciej liczby.
  8. Użyj instrukcji cin, aby odczytać i zapisać trzecią liczbę w num3.
  9. Oblicz sumę trzech liczb za pomocą operatora + i zapisz ją w zmiennej sumy.
  10. Użyj instrukcji cout, aby wydrukować sumę trzech liczb.
  11. Funkcja główna zwraca 0, co oznacza pomyślne wykonanie programu.

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

Jeden problem, wiele rozwiązań: Rozwiązaniem algorytmu może być więcej niż jedno lub nie. Oznacza to, że przy implementacji algorytmu może istnieć więcej niż jedna metoda jego implementacji. Przykładowo w powyższym zadaniu dodania 3 liczb sumę można obliczyć na wiele sposobów:

  • + operator
  • Operatory bitowe
  • . . itp

Jak analizować algorytm?

Aby standardowy algorytm był dobry, musi być wydajny. Dlatego należy sprawdzać i utrzymywać skuteczność algorytmu. Może przebiegać w dwóch etapach:

1. Analiza priorytetowa:

Priori znaczy wcześniej. Stąd analiza Priori polega na sprawdzeniu algorytmu przed jego implementacją. W tym przypadku algorytm jest sprawdzany, gdy jest zapisywany w formie kroków teoretycznych. Tę efektywność algorytmu mierzy się zakładając, że wszystkie inne czynniki, na przykład szybkość procesora, są stałe i nie mają wpływu na implementację. Robi to zwykle projektant algorytmu. Analiza ta jest niezależna od rodzaju sprzętu i języka kompilatora. Podaje przybliżone odpowiedzi na temat złożoności programu.

2. Analiza a posteriori:

Późniejszy znaczy później. Stąd analiza posteriorna oznacza sprawdzenie algorytmu po jego zaimplementowaniu. W tym przypadku algorytm jest sprawdzany poprzez implementację go w dowolnym języku programowania i wykonanie. Analiza ta pomaga uzyskać aktualny i rzeczywisty raport analityczny dotyczący poprawności (dla wszystkich możliwych danych wejściowych, jeśli pokazuje/zwraca prawidłowe dane wyjściowe lub nie), wymaganego miejsca, zużytego czasu itp. Oznacza to, że zależy to od języka kompilator i rodzaj używanego sprzętu.

Co to jest złożoność algorytmu i jak ją znaleźć?

Algorytm definiuje się jako złożony na podstawie ilości zajmowanej przestrzeni i czasu. Stąd złożoność algorytmu odnosi się do miary czasu potrzebnego do wykonania i uzyskania oczekiwanego wyniku, a także przestrzeni potrzebnej do przechowywania wszystkich danych (wejściowych, tymczasowych i wyjściowych). Zatem te dwa czynniki definiują efektywność algorytmu.
Dwa czynniki złożoności algorytmu to:

  • Czynnik czasu : Czas mierzy się poprzez zliczenie liczby kluczowych operacji, takich jak porównania, w algorytmie sortowania.
  • Czynnik kosmiczny : Przestrzeń mierzy się poprzez zliczenie maksymalnej przestrzeni pamięci wymaganej przez algorytm do uruchomienia/wykonania.

Dlatego też Złożoność algorytmu można podzielić na dwa typy :

1. Złożoność przestrzeni : Złożoność przestrzenna algorytmu odnosi się do ilości pamięci wymaganej przez algorytm do przechowywania zmiennych i uzyskania wyniku. Może to dotyczyć wejść, operacji tymczasowych lub wyjść.

Jak obliczyć złożoność przestrzeni?
Złożoność przestrzenną algorytmu oblicza się poprzez określenie następujących 2 składników:

  • Naprawiono część: Odnosi się to do przestrzeni wymaganej przez algorytm. Na przykład zmienne wejściowe, zmienne wyjściowe, rozmiar programu itp.
  • Część zmienna: Odnosi się to do przestrzeni, która może być różna w zależności od implementacji algorytmu. Na przykład zmienne tymczasowe, dynamiczna alokacja pamięci, przestrzeń stosu rekurencji itp.
    Dlatego złożoność przestrzeni S(P) dowolnego algorytmu P jest S(P) = C + SP(I) , gdzie C jest częścią stałą, a S(I) jest częścią zmienną algorytmu, która zależy od cechy instancji I.

Przykład: Rozważ poniższy algorytm wyszukiwania liniowego

Krok 1: ROZPOCZNIJ
Krok 2: Pobierz n elementów tablicy w arr i liczbę do przeszukania w x
Krok 3: Zacznij od lewego elementu arr[] i jeden po drugim porównaj x z każdym elementem arr[]
Krok 4: Jeśli x pasuje do elementu, wydrukuj wartość True.
Krok 5: Jeśli x nie pasuje do żadnego elementu, wydrukuj fałsz.
Krok 6: KONIEC
Tutaj istnieją 2 zmienne arr[] i x, gdzie arr[] jest częścią zmienną n elementów, a x jest częścią stałą. Stąd S(P) = 1+n. Zatem złożoność przestrzeni zależy od n (liczba elementów). Teraz przestrzeń zależy od typów danych danych zmiennych i typów stałych i zostanie odpowiednio pomnożona.

2. Złożoność czasu : Złożoność czasowa algorytmu odnosi się do ilości czasu potrzebnego algorytmowi na wykonanie i uzyskanie wyniku. Może to dotyczyć normalnych operacji, instrukcji warunkowych if-else, instrukcji pętli itp.

Jak obliczyć , Złożoność czasowa?
Złożoność czasową algorytmu oblicza się również poprzez określenie 2 następujących elementów:

  • Stała część czasu: W tej części znajduje się każda instrukcja wykonywana tylko raz. Na przykład wejście, wyjście, if-else, przełącznik, operacje arytmetyczne itp.
  • Część o zmiennym czasie: Każda instrukcja wykonywana więcej niż raz, powiedzmy n razy, znajduje się w tej części. Na przykład pętle, rekurencja itp.
    Dlatego złożoność czasowaT(P) dowolnego algorytmu P jest T(P) = C + TP(I) , gdzie C jest częścią stałą czasu, a TP(I) jest częścią zmienną algorytmu, która zależy od cechy instancji I.

Przykład: W powyższym algorytmie wyszukiwania liniowego złożoność czasową oblicza się w następujący sposób:

Krok 1: – Stały czas
Krok 2: — Zmienny czas (biorąc pod uwagę n danych wejściowych)
Krok 3: – Zmienny czas (do długości tablicy (n) lub indeksu znalezionego elementu)
Krok 4: – Stały czas
Krok 5: – Stały czas
Krok 6: – Stały czas
Stąd T(P) = 1 + n + n(1 + 1) + 1 = 2 + 3n, co można powiedzieć jako T(n).

Jak wyrazić algorytm?

  1. Język naturalny: - Tutaj wyrażamy algorytm w naturalnym języku angielskim. Zrozumienie z niego algorytmu jest zbyt trudne.
  2. Schemat blokowy :- Tutaj wyrażamy algorytm, tworząc a graficzne/obrazkowe przedstawienie tego. Jest łatwiejszy do zrozumienia niż język naturalny.
  3. Pseudo kod :- Tutaj wyrażamy algorytm w formie adnotacji i tekstu informacyjnego napisanego prostym językiem angielskim, który jest bardzo podobny do prawdziwego kodu, ale ponieważ nie ma składni jak żaden z języków programowania, nie może być skompilowany ani zinterpretowany przez komputer . Jest to najlepszy sposób wyrażenia algorytmu, ponieważ może go zrozumieć nawet laik posiadający wiedzę na poziomie szkolnym.