Bez znajomości algorytmów nie można się nauczyć programowania. Algorytmy są też przydatne w pracy naukowców i inżynierów. Właściwie każdy z nas codziennie z nich korzysta: gotując, wypełniając urzędowe formularze czy przeprowadzając mniej lub bardziej złożone procedury. Co więcej, ludzki organizm również wykonuje skomplikowane działania bez udziału świadomości, ale zgodnie z ukrytymi algorytmami. Łatwo się przekonać, że dzięki umiejętności zastosowania odpowiedniego algorytmu albo nawet zaprojektowania nowego można rozwiązać bardzo złożone problemy.
Ta książka jest praktycznym wprowadzeniem do algorytmów i ich implementacji w Pythonie. Omówiono w niej wiele najciekawszych algorytmów służących do przeszukiwania, sortowania i optymalizacji. Zaprezentowano także te bazujące na... ludzkiej podświadomości. Nie zabrakło dość zaawansowanych tematów, takich jak algorytmy służące do uczenia maszynowego, przetwarzania języka naturalnego i wdrażania technik sztucznej inteligencji. Omówiono też algorytmy znane od starożytności, służące do mnożenia liczb, obliczania największego wspólnego dzielnika czy generowania kwadratów magicznych. Pokazano ponadto, w jaki sposób zaimplementować poszczególne algorytmy w Pythonie, aby uzyskać możliwie najwyższą wydajność kodu.
Dzięki książce dowiesz się, jak:
- generować i wykorzystywać diagramy Woronoja
- wykorzystywać algorytmy podczas pisania chatbota
- stosować algorytm wyżarzania do optymalizacji globalnej
- tworzyć drzewa decyzyjne
- projektować algorytmy przydatne w pisaniu programów
- mierzyć wydajność i prędkość działania algorytmów