Algorytm Dijkstry – najkrótsza ścieżka w grafach

Zasada działania tego algorytmu jest prosta. Na początku ustawiamy sobie wyniki do każdego punktu jako nieskończoność. Z obranego punktu startowego wyszukujemy wychodzące krawędzie i zapisujemy ich wagi jako wyniki do poszczególnych wierzchołków, do których wchodzą krawędzie z punktu startowego. Potem dla każdego z tych wierzchołków rozpatrzmy wychodzące krawędzie na podobnej zasadzie co wcześniej, z tym, […]

Czytaj więcej

Liczby pierwsze – Sito Eratostenesa

Ok – to jest prosty algorytm znajdowania n-tej liczby pierwszej… Tam gdzie jest ST1 to trzeba wpisać liczbę, która będzie oznaczała zakres z jakich liczb będziemy szukać liczb pierwszych… Do ST2 trzeba sobie wpisać jakiś bezpieczny zakres liczb pierwszych 😉 

Czytaj więcej

Wyszukiwanie interpolacyjne (Algorytmy i struktury danych – Rod Stephens)

Algorytm działa na uporządkowanym zbiorze, który może być zapisany w tablicy statycznej, dynamicznej lub liście. Jest szybszy w działaniu niż przeszukiwanie binarne. W czystej postaci sprawdza się na zbiorze, w którym wzrost kolejnych elementów jest jednostajny (1,2,3,4,5…)Ale wprowadzając dodatkowe zabezpieczenie przed możliwością dzielenia przez ZERO może być zastosowany do dowolnego uporządkowanego zbioru (1,6,7,7,7,10,20,200,…) lub (1,100,156,980,1456,…) Kompletny opis- teoretyczny patrz książka „Algorytmy i struktury […]

Czytaj więcej

Scrollowanie tekstu

Dany jest tekst zajmuj-cy np:50 linijek który chcemy wyświetlić mając do dyspozycji 20 linijek. Żeby by-o wygodniej najlepiej załadować go do tablicy. Potrzebna jest zmienna x (np: typu integer} zawierająca numer linijki od której program ma wyświetlać. Resztę załatwi pętla for:

Czytaj więcej

Wykresy funkcji

W jaki sposób narysować wykres jakiejś funkcji? Wbrew pozorom nie jest to nic trudnego. Jak wiadomo funkcja przyjmuje określone wartości „y” dla argumentów „x”. Nie pozostaje nam więc nic innego jak wykonać pętlę:

Czytaj więcej

Obrót obiektu w 2d

Dany jest obiekt A (rys.1). Zadanie polega na obróceniu go wokół osi przechodzącej przez punkt O. Dane są współrzędne każdego piksela należącego do obiektu(x,y). Przedstawione rozwiązanie zakłada obliczanie współrzędnych dla punktów leżących na osi OX (odległość od punktu O jest równa x). Jak wynika z rysunku drugiego:

Te wzory nie pozwalają jednak na obliczenie […]

Czytaj więcej

Przeliczanie liczb na system dziesiętny i z dziesiętnego na dowolny

Witam, przedstawiam dwa algorytmy: jeden zamienia podaną liczbę zapisaną w systemie dziesiętnym na dowolny inny system, oraz drugi, który zamienia dowolną liczbę w podanym systemie na system decymalny (dziesiętny). Algorytmy zamieniają liczby naturalne. Zamiana na system decymalny. Aby zamienić liczbę zapisaną w dowolnym systemie na system dziesiętny, pomnożyć każdą cyfrę wchodzącą w jej skład przez […]

Czytaj więcej

Dzielenie tekstu

Witam, przedstawiam algorytm, który dzieli podany tekst tak, aby szerokość tekstu w pikselach w każdej linii nie przekraczała podanej wartości. Poszczególne linijki umieszczane są w obiekcie typu TStringList.

Czytaj więcej