świstak.codes
O programowaniu, informatyce i matematyce przystępnym językiem

optymalizacja

Szybkie szukanie dużych liczb pierwszych
Zdjęcie: MingUsuam Kimz, CC BY-SA 4.0, via Wikimedia Commons
Tekst napisany przez człowieka.

Wiemy już: czym są liczby pierwsze, jak sprawdzać, czy liczba jest pierwsza, jak w najprostszy sposób znajdować je, a także poznaliśmy teorię stojącą za znajdowaniem dużych liczb pierwszych. Przejdźmy zatem do praktyki. Czas napisać algorytm, który w krótkim czasie pozwoli nam znaleźć bardzo duże liczby pierwsze, tak jak to się robi w codziennych zastosowaniach.

Czytaj więcej
Liczby pierwsze i proste sposoby na ich sprawdzanie
Zdjęcie: Zina Deretsky, National Science Foundation (Courtesy: National Science Foundation, Public domain, via Wikimedia Commons)
Tekst napisany przez człowieka.

Liczby pierwsze to jeden z ważniejszych terminów w matematyce, do tego mający dość istotne zastosowanie praktyczne. Na samym początku przygody z tym tematem przedstawmy sobie teorię, a także najprostsze testy pierwszości.

Czytaj więcej
Jak komputer rysuje linie?
Zdjęcie: Nathalie E. Julien from StockSnap
Tekst napisany przez człowieka.

Korzystając na co dzień z komputera, jeżeli zastanawiamy się, jak on działa, to myślimy albo o tym, jakie algorytmy wykorzystują jakieś skomplikowane aplikacje, albo jakie rozwiązania użyto do ich stworzenia, albo, tak z innej strony, jak to wszystko działa na poziomie sprzętu. Jednak rzadziej się zastanawiamy nad rzeczami, które po prostu się dzieją, otaczają nas bez przerwy i nie są spektakularne, a jednak proces, jak to się dzieje, sam w sobie może być całkiem ciekawy. Dlatego dziś opowiedzmy sobie o tym, jaka algorytmika stoi za rysowaniem na ekranie, a dokładniej — rysowaniem linii (odcinków).

Czytaj więcej
Derekursywacja
Zdjęcie: Goran tek-en, CC BY-SA 4.0, via Wikimedia Commons
Tekst napisany przez człowieka.

Z mojego poprzedniego artykułu wiemy już czym jest rekurencja, rekursja ogonowa oraz jak je stosujemy. Jednak temat rekurencji jest dość rozległy i warto opowiedzieć sobie o tym, jak rekurencji możemy się najzwyczajniej w świecie… pozbyć. Proces ten nazywamy derekursywacją i możemy podejść do tego na różne sposoby, których część tutaj opiszę.

Czytaj więcej
Sortowanie, cz. 2 — sortowanie bąbelkowe
Oryginał zdjęcia pochodzi z serwisu pxhere
Tekst napisany przez człowieka.

W poprzedniej, pierwszej części serii o sortowaniu opisałem teoretyczną część tego zagadnienia. Najwyższy czas przejść do praktyki. Nauczmy się najprostszego z algorytmów sortowania opartego o zamianę elementów — sortowania bąbelkowego, znanego też pod angielską nazwą bubble sort lub jako sortowanie przez zamianę. Jednak to nie wszystko. Będziemy go także krok po kroku optymalizować na tyle, na ile jest to w jego przypadku możliwe.

Czytaj więcej