W poprzednim wpisie wyjaśniłem jakie są cechy algorytmu. W tym wpisie, dowiesz się jak tworzyć solidne algorytmy.

Podczas tworzenia rozwiązania, należy pamiętać o kilku rzeczach, aby to, co stworzymy było stabilne, pokrywało jak najwięcej sytuacji skrajnych.

Dobry algorytm jest wtedy, gdy:

Nie ściągaj na lekcji*

  • Jasno określa dane wejściowe.
  • Jasno określa rezultat, który ma nastąpić po jego ukończeniu.
  • Składa się ze skończonej liczby kroków.
  • Posiada precyzyjny opis czynności, które należy przeprowadzić.
  • Każda czynność jest atomowa, tzn. nie można takiej czynności podzielić na mniejsze a jeżeli można, to wykorzystuje “podalgorytm”, który posiada atomowe operacje.
  • Nie posiada miejsc, w którym coś jest dwuznaczne.
  • Jest uniwersalny, tj. poradzi sobie tak samo dobrze z liczbą danych wejściowych w ilości 5 jak i 2000 czy posortuje równie dobrze nazwiska jak i imiona.
  • Jest stabilny, radzi sobie z sytuacjami wyjątkowymi.

Sytuacja wyjątkowa w algorytmie to, na przykład miejsce, w którym algorytm przetwarza informacje, które są nieprawidłowe. Jak myślisz, co się stanie z algorytmem powyżej jeżeli na liście znajdą się osoby o tym samym imieniu? Jak zapobiegać takim sytuacjom? Co zrobi automat do kawy w przypadku, gdy zabraknie mu wody albo skończą się ziarna kawy w młynku?

Możesz odnieść wrażenie, że algorytmika tylko komplikuje życie. W końcu taka prosta czynność, posortować listę uczestników, można to zrobić ręcznie. Można, raczej nie stanowi problemu posortować dziesięć imion. A co jeśli mamy ich setki czy tysiące? Myśl o algorytmie w kontekście narzędzia, które utworzone raz, można wykorzystać nieskończoną ilość razy. Jeżeli popatrzysz na to z tej perspektywy, łatwiej będzie Tobie zrozumieć dlaczego tak ważne jest dopieszczenie każdego algorytmu w najmniejszych detalach.

*Z ruchu na PJL mogę z przekonaniem stwierdzić, że ten artykuł cieszy się wyjątkową popularnością od poniedziałku do piątku w typowych lekcyjnych godzinach 😉

Powiązane tematy

URL - adres internetowy

URL - adres internetowy

"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość

URL - adres internetowy

URL - adres internetowy

"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość

Sleep- zatrzymywanie programu na pewien czas

Sleep- zatrzymywanie programu na pewien czas

System operacyjny, który zarządza uruchomionymi programami, przydziela każdemu porcję czasu procesora, który wykorzystuje ją na wykonanie swojego algorytmu. Program nie może pracować cały czas, bez odpoczynku, jednak istnieje możliwość odłożenia jego pracy w czasie. Czytaj całość


Piotr Poźniak

Piotr Poźniak

Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.

Bądź pierwszy, podziel się swoją opinią!

Obrazek przedstawiający nadgryzione ciasteczko