Początki algorytmów

  • 300 BCE

    Euklides

    Pierwszą osobą która posłużyła się terminem algorytm był starożytny myśliciel Euklides który użył tego sformułowania aby wyrazić ciąg czynności które należy wykonać.
  • 300 BCE

    Pierwsza praca

    Pierwszy algorytm został użyty przez Euklidesa, aby wyznaczyć największy wspólny dzielnik dwóch liczb. Ten algorytm jest używany do dziś.
  • Początki użytkowania

    Algorytmy których definicji używamy dziś pierwszy raz użyto w XVIII wieku podczas rewolucji przemysłowej. Początkowo słowem algorism nazywano czynności konieczne do wykonywania obliczeń z użyciem dziesiętnego systemu liczbowego.
  • Pierwsze maszyny

    Ogromnego postępu dokonał Charles Babbage, który sformułował ideę maszyny analitycznej zdolnej do realizacji złożonych algorytmów matematycznych. W pracy Babbage wspierała Ada Lovelace. Prace Lovelace dotyczące implementacji tego algorytmu na maszynę różnicową zawierały opis swoistego języka programowania. Programy napisane przez Lovelace zostały przetestowane na modelu maszyny różnicowej wykonanym w XX wieku i okazały się poprawne.
  • Algorytm Luhna

    Algorytm Luhna
    Algorytm służący do sprawdzania poprawności wpisania numeru. Jest on używany m.in. do walidacji numerów kart kredytowych, ciągów liczbowych, itd. Nazwa algorytmu pochodzi od nazwiska Hansa Petera Luhna (1896–1964), niemieckiego naukowca pracującego w IBM, który opatentował mechaniczne urządzenie do sprawdzania poprawności numerów z cyfrą kontrolną.
  • Algorytm Luhna

    Algorytm Luhna polega na nadaniu wszystkim liczbą kodu wagi oraz dodaniu dodatkowej liczby kontrolnej. mnoży się wszystkie liczby kodu prócz ostatniej przez ich wagę. Jeśli otrzyma się liczbę dwucyfrową dodaje się do siebie dwie cyfry i sumuje z resztą. Wykonuje się operację mod 10 na otrzymanej sumie. Następnie jeśli wynik nie równa się 0 odejmuje się tą liczbę od 10.
    Otrzymujemy liczbę kontrolną którą wstawia się na koniec kodu.
  • Ciekawostka

    W 2007 roku naukowcy w ramach ciekawostki przeanalizowali najmniej efektywne algorytmy sortowania, który oczywiście nie będzie marnował przebiegów. Z czegoś, co miało być żartem, wyniknęły całkiem poważne badania mająca realne zastosowanie w analizie danych.
  • Stosowanie

    Stosowanie
    Oto kilka algorytmów sortujących używanych dziś: Bubble sort, Quick sort, Merge sort, Bucket sort, Heap sort.