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, […]
Kategoria: Algorytmy
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 😉
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 […]
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:
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ę:
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:
1 |
x1=cos(alfa)*x; y1=sin(alfa)*x; |
Te wzory nie pozwalają jednak na obliczenie […]
Silnia obliczana iteracyjnie oraz rekurencyjnie
Witam, przedstawiam dwa algorytmy obliczania silni: iteracyjny oraz rekurencyjny. Przypomnę, że silnia jest to iloczyn kolejnych liczb naturalnych i oznaczamy ją znakiem ! (wykrzyknik), np.:
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 […]
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.
Wielokąt foremny o n-wierzchołkach
Sprawa jest bardzo prosta. Ogólne wzory na x i y wyglądają tak: