Skip to main content

Czym jest algorytm?

Czym jest algorytm i dlaczego powinno was to obchodzić? (Czerwiec 2026)

Czym jest algorytm i dlaczego powinno was to obchodzić? (Czerwiec 2026)
Anonim

Algorytm to zestaw instrukcji. Definicja jest naprawdę tak prosta. Algorytm może być tak prosty, jak podanie takich instrukcji:

  1. Idź dalej ulicą.
  2. Weź pierwszą w prawo.
  3. Znajdź drugi dom po lewej.
  4. Zapukać do drzwi.
  5. Dostarcz paczkę.

Ale podczas gdy definicja algorytmu jest prosta, rzeczywiste znaczenie i jak wpływa na nasze życie może być dość złożone.

Przykład algorytmu

Typowym przykładem algorytmu, którego używamy w naszym codziennym życiu, jest przepis. Ten zestaw instrukcji podaje nam wszystkie potrzebne składniki i wskazówki, co zrobić z tymi składnikami. Brzmi łatwo, prawda?

Ale co, jeśli nie wiesz, gdzie jest przechowywany kubek miarowy? Aby go znaleźć, potrzebujesz algorytmu. Możesz nawet potrzebować algorytmu, jak korzystać z miarki.

Tak więc, podczas gdy algorytm jest zbiorem instrukcji, musi również wziąć pod uwagę, kto lub co będzie interpretować te instrukcje. Na przykład, jeśli podasz wskazówki przyjacielowi, w jaki sposób dostać się z domu do najbliższego sklepu spożywczego, znajomy będzie wiedział, jak dostać się do tego sklepu, jeśli wie, gdzie znajduje się twój dom. Nie potrafią (jeszcze) znaleźć tego konkretnego sklepu spożywczego, powiedzmy, domu innego przyjaciela.

W ten sposób algorytm może być zarówno prosty, jak i złożony. A kiedy mówimy w kategoriach algorytmów komputerowych, zrozumienie, co komputer jest w stanie zrobić, jest fundamentalną częścią formułowania algorytmów.

Jak ewoluowały algorytmy sortowania

Jednym z najwcześniej tworzonych algorytmów była rutynowa procedura sortowania bąbelkowego. Sortowanie bąbelkowe jest metodą sortowania liczb, liter lub słów poprzez zapętlenie zestawu danych, porównywanie każdego zestawu wartości obok siebie i zamianę ich w razie potrzeby.

Ta pętla jest powtarzana, dopóki algorytm nie przejdzie całej listy bez potrzeby zamiany czegokolwiek, co oznacza, że ​​wartości są sortowane poprawnie. Ten typ algorytmu jest często nazywany algorytmem rekursywnym, ponieważ pętle samo się w kółko, aż do zakończenia zadania.

Ten typ algorytmu może wyglądać tak prosto, jak:

  1. Przejdź do pierwszej wartości.
  2. Sprawdź tę wartość względem następnej wartości i zamień pozycje, jeśli to konieczne.
  3. Przejdź do następnej wartości i powtórz porównanie.
  4. Jeśli znajdujemy się na końcu listy, wróć na górę, jeśli podczas pętli została zmieniona wartość.

Ale rodzaj bąbelków nie okazał się najlepszy wydajny sposób sortowania wartości. Z biegiem czasu, gdy komputery stały się bardziej zdolne do szybkiego wykonywania złożonych zadań, pojawiły się nowe algorytmy sortowania.

Jeden taki algorytm skanuje pierwszą listę i tworzy drugą listę posortowanych wartości. Ta metoda powoduje tylko pojedyncze przejście przez oryginalną listę, a przy każdej wartości przechodzi przez drugą listę, aż znajdzie właściwe miejsce do wstawienia wartości. Zwykle jest bardziej efektywny niż przy użyciu metody sortowania bąbelkowego.

To tutaj algorytmy mogą stać się naprawdę szalone. Lub naprawdę interesujące, w zależności od tego, jak na to patrzysz.

Podczas gdy metoda sortowania bąbelkowego jest uważana za jedną z najbardziej nieskutecznych metod sortowania wartości na wiele sposobów, jeśli oryginalna lista jest odpowiednio ustawiona przed sortowaniem, sortowanie bąbelkowe może być jednym z większość wydajny. Dzieje się tak dlatego, że w tym przypadku algorytm sortowania bąbelkowego przejdzie przez listę jeden raz i określi, że jest poprawnie posortowany.

Niestety, nie zawsze wiemy, czy nasza lista jest wybierana, więc musimy wybrać algorytm, który będzie najbardziej wydajny w użyciu na wielu listach.

Czego uczymy się od algorytmu sortowania bąbelkowego

  • Algorytmy ewoluują w miarę upływu czasu, gdy znajdujemy bardziej wydajne sposoby robienia rzeczy i / lub komputery stają się bardziej zdolne do wykonywania złożonych zadań.
  • Algorytmy są czasami wybierane, ponieważ są "bardziej" efektywne "najczęściej" w danym czasie.
  • Tylko dlatego, że algorytm jest bardziej wydajny przez większość czasu, nie oznacza, że ​​zawsze jest najlepszy w każdym indywidualnym przypadku.

Algorytmy Facebooka i więcej w codziennym życiu

Działają algorytmy pomagające ludziom na co dzień. Podczas wyszukiwania w Internecie działa algorytm próbujący znaleźć najlepsze wyniki wyszukiwania. Zapytaj swojego smartfona o drogę, a algorytm wybierze najlepszą dla ciebie trasę. A kiedy przeglądasz Facebooka, algorytm decyduje o tym, które posty na Facebooku naszego przyjaciela są dla nas najważniejsze. (Miejmy nadzieję, że nasi przyjaciele nie dowiedzą się, który z Facebooka myśli, że najbardziej nam się podoba!)

Ale myślenie algorytmiczne może nam pomóc daleko poza życiem naszego komputera. Może nawet pomóc nam zbudować lepszą kanapkę.

Powiedzmy, że zaczynam od dwóch kromek chleba, rozprowadzając musztardę na jednym plasterku i majonez na innym kawałku. Na chlebie kładę kawałek sera z majonezem, trochę szynki na wierzchu, sałatę, dwie plasterki pomidora, a następnie nakrywam plasterkiem z musztardą. Dobra kanapka, prawda?

Zdecydowanie jeśli jem to od razu. Ale jeśli zostawię to na stole przez jakiś czas, ta górna kromka chleba może się rozmoczyć z moczenia trochę tego pomidora. Jest to problem, którego nie spodziewałem się, i mógłbym robić kanapki przez wiele lat, zanim to zauważyłem, ale kiedy już to zrobię, mogę zacząć zastanawiać się nad sposobami zmiany mojego algorytmu w celu zbudowania lepszej kanapki.

Na przykład mogę pozbyć się pomidora. Ale nie chcę stracić tego smaku pomidorów. Zamiast tego mogę umieścić pomidora na kanapce po chlebie i sałacie. To pozwala sałacie tworzyć barierę ochronną pomiędzy pomidorem a chlebem.

Tak ewoluuje algorytm. Algorytm nie musi być uruchamiany przez komputer jako algorytm.Algorytm to proces, a procesy są wszędzie wokół nas.