algorytm.org  
Home AlgorithmsData structuresAlgorithmics turorialPractiseDesign patternsIT Law SitemapPortal historyContributors ForumToolsWrite an articleSearch 

There are no translations available.

News

Na stronach serwisu pojawiła się możliwość dodawania własnych implementacji przedstawianych algorytmów i metod. Rozszerzyliśmy listę wspieranych języków programowania, zapraszamy do pobierania i udostępniania własnych programów!

Algorytmy i Struktury Danych


Serwis Algorytmy i struktury danych powstał na przełomie lat 2000 i 2001. Postanowiliśmy stworzyć witrynę wyłącznie o algorytmach i konsekwentnie ją rozbudowywać. Chcieliśmy stworzyć stronę z materiałami dostępnymi również w podręcznikach, lecz opisanymi dużo prościej, mniej formalnie, z przykładami oraz implementacją. Na stronach serwisu znajdziesz setki artykułów z dołączonymi rysunkami, zdjęciami i schematami blokowymi. Istniejące opisy cały czas uzupełniamy i poprawiamy zgodnie z waszymi sugestiami. Oprócz szczegółowych opisów metod oraz przykładów ich użycia znajdziesz tutaj ponad pół tysiąca implementacji w wielu językach programowania. Każdy z artykułów może być komentowany. Możesz podzielić się uwagami na temat algorytmu, podać dodatkowe przykłady, informacje, przypadki szczególne, itp... Z całej zawartości serwisu możesz korzystać bez żadnych opłat i rejestracji!


Wygeneruj graf
Automatyczne generowanie grafówUruchomiliśmy autorski skrypt pozwalający szybko i sprawnie tworzyć reprezentacje graficzną grafów. Przy jego pomocy tworzyć można zarówno grafy skierowane jak i nieskierowane. Każdy wierzchołek oraz krawędź może być oznaczona wybraną etykietą oraz kolorem. Używając tego narzędzia troszczysz się jedynie o zdefiniowanie zbioru wierzchołków i krawędzi, całą pracę polegającą na takim graficznym ustawieniu elementów by przecięć pomiędzy krawędziami było jak najmniej, by całość wyglądała schludnie i przejrzyście załatwia za Ciebie program. Twoja decyzja polega jedynie na wybraniu preferowanej orientacji grafu (pozioma lub pionowa). Wyjściowy obraz może być zapisany w jednym z kilku formatów do wyboru. Zapraszamy do skorzystania z narzędzia do generowania grafów
Wygeneruj schemat blokowy
Narzędzie generowania schematów blokowychNa naszych stronach znajdziesz kolejny autorski skrypt. Tym razem jest to narzędzie pozwalające szybko i sprawnie tworzyć schematy blokowe. Przy jego pomocy tworzysz zbiór bloków wykonywalnych oraz decyzji. W kolejnym kroku definiujesz ich zawartość oraz ich następniki czyli bloki/decyzje, które mają być wykonywane jako następne. Przed wygenerowaniem schematu skrypt sprawdzi czy wszystkie wejścia i wyjścia z bloków są przypisane. Używając tego narzędzia skupiasz się na logice tworzonego schematu blokowego, żmudną pracę polegającą na odpowiednim ułożeniu elementów, by całość wyglądała schludnie i przejrzyście wykonuje za Ciebie program. Wyjściowy schemat może być zapisany w jednym z kilku formatów do wyboru. Zapraszamy do skorzystania z narzędzia do generowania schematów blokowych
Wygeneruj wzór matematyczny
Narzędzie do generowania wzorów matematycznychUdostępniliśmy narzędzie do graficznego tworzenia i generowania wzorów matematycznych w programie Latex. Dzięki niemu w prosty sposób wygenerować można nawet skomplikowane wzory wykorzystujące macierze, pierwiaski, indeksy górne, dolne a także wiele innych. Tworzenie wzoru polega na wybieraniu gotowych wzorców prezentowanych w formie graficznej. Wyjściowy wzór może być zapisany w jednym z kilku formatów do wyboru. Zapraszamy do skorzystania z narzędzia do generowania wzorów matematycznych
Weź udział w powstawaniu strony
Weź udział w powstawaniu strony Uruchomiliśmy możliwość dodawania implementacji do zamieszczonych algorytmów, metod i struktur danych przez wszystkich zarejestrowanych użytkowników portalu. Całość została zintegrowana z systemem informacji o użytkownikach dzięki czemu, potencjalny pracodawca po jednym kliknięciu na nazwisko twórcy ma dostęp do wszystkich jego artykułów, implementacji, komentarzy oraz wpisów na forum. Wkrótce również każdy zarejestrowany użytkownik będzie mógł dodawać własne artykuły, póki co czekamy na przesyłanie ich na nasz e-mail.



 
  • Latest News
  • Singleton (singleton)
    There are no translations available.Singleton to konstrukcyjny wzorzec projektowy. Wyobraź sobie, że w naszym programie potrzebujemy obiektu, który będzie zainicjowany tylko jeden raz. Tak, ograniczamy się tylko do pojedynczej instancji dla danej klasy. Ale po co komu w ogóle taki obiekt? Załóżmy, że będzie on zawierał w sobie bardzo ważne informacje, może zawierać jakieś statystyki bądź ważne ustawienia. Ponowna inicjalizacja...
  • Fabryka abstrakcyjna (abstract factory)
    There are no translations available.Fabryka abstrakcyjna (ang. abstract factory) - konstrukcyjny wzorzec projektowy. Fabryka pozwala tworzyć całe rodziny produktów. Mamy zdefiniowany interfejs do tworzenia spokrewnionych obiektów. Występuje tu kompozycja oraz pewne uzależnienie od abstrakcji, a nie klas rzeczywistych. Klient oddzielony jest od implementacji klas, tworzących obiekty. Wzorzec ten łączony jest z metodą...
  • Metoda wytwórcza (factory method)
    There are no translations available.Metoda wytwórcza, albo inaczej metoda fabrykująca (ang. factory method) jest wzorcem konstrukcyjnym. Służy do tworzenia nowych obiektów, nieokreślonych, lecz związanych z jednym, wspólnym interfejsem. Następnie dodajemy kilka klas, które będą implementować owy interfejs (to właśnie one będą tworzyć konkretne produkty). Klasy te reprezentują bardziej szczegółowe postacie produktu. Metoda fabrykująca...
  • Akcent kolorystyczny
    There are no translations available.Akcent kolorystyczny, czy też akcent koloru (ang. color accent), jest efektem, w którym wszystkie szczegóły na obrazie poza jednym kolorem pozostają w odcieniach szarości. Zadanie to łatwo jest wykonać posługując się modelem HSV (index.php?option=com_content catid=38 id=218 lang=pl view=article). Składowa h w tym modelu przyjmuje wartości od 0 do 359.99... i niesie...
  • Koloryzacja
    There are no translations available.Operacja koloryzacji obrazu opiera się na zastosowaniu modelu HSV (index.php?option=com_content catid=38 id=218 lang=pl view=article). Operacje przebiegają podobnie jak przy zmianie nasycenia / barwy (index.php?option=com_content catid=34 id=295 lang=pl view=article) ale są tu istotne różnice. O ile w pierwszym przypadku do składowej H (Hue) następowało...


  • Most Read Content
  • Schematy blokowe
    There are no translations available. Schematy blokowe są tzw. metajęzykiem. Oznacza to, że jest to język bardzo ogólny, służy do opisywania algorytmów w taki sposób, by na jego podstawie można było je zaimplementować w każdym języku. Częściami składowymi schematów blokowych są proste figury geometryczne, np. prostokąt, romb, koło, równoległobok itd... W tych figurach umieszczamy warunki oraz proste instrukcje,...
  • Rekurencja
    There are no translations available. Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być tylko liczby naturalne. Najłatwiej zrozumieć mechanizm działania rekursji na przykładzie silni: rekurencyjny wzór na obliczenie n! zapisuje się w ten sposób: n!=n*(n-1)! Ze wzoru tego wynika, że aby obliczyć np. 4!, należy...
  • Sortowanie szybkie (quicksort)
    There are no translations available. Algorytm sorotwania szybkiego jest uważany za najszybszy algorytm dla danych losowych. Zasada jego działania opiera się o metodę dziel i zwyciężaj (index.php?option=com_content&task=view&id=63&Itemid=26). Zbiór danych zostaje podzielony na dwa podzbiory i każdy z nich jest sortowany niezależnie od drugiego. Dla zadanej tablicy a[l..p] wybieramy element v=a[l] i przeszukujemy...
  • Grafy i ich reprezentacje
    There are no translations available. Na początek kilka definicji: W informatyce grafem nazywamy strukturę G=(V, E) składającą się z węzłów (wierzchołków, oznaczanych przez V) wzajemnie połączonych za pomocą krawędzi (oznaczonych przez E). Grafy dzielimy na grafy skierowane i nieskierowane: ...
  • Algorytm Dijkstry
    There are no translations available. Algorytm Dijkstry służy do wyznaczania najmniejszej odległości od ustalonego wierzchołka s do wszystkich pozostałych w skierowanym grafie (index.php?option=com_content&task=view&id=44&Itemid=27), w odróżnieniu jednak od Algorytmu Forda-Bellmana (index.php?option=com_content&task=view&id=94&Itemid=0), graf wejściowy nie może zawierać krawędzi o ujemnych wagach....


  • Best content
  • Współliniowość trzech punktów
    There are no translations available. Zrozumienie tego algorytmu wymaga zaznajomienia się ze wstępem do geometrii obliczeniowej (index.php?option=com_content&task=view&id=56&Itemid=26) Wzajemne położenie trzech punktów a, b i c można bardzo łatwo określić korzystając z wyznacznika det(a,b,c) macierzy kwadratowej postaci:...
  • Zbiór Mandelbrot'a
    There are no translations available.Po raz pierwszy pojęcie fraktala zostało użyte przez Benoit Mandelbrota w latach 70-tych XX wieku. Po łacinie fractus oznacza podzielny, ułamkowy, cząstkowy. Nazwa ta nie ma ścisłej matematycznej definicji. Oznacza ona obiekty, które mają nietrywialną strukturę w każdej skali oraz są samopodobne - czyli każda ich część przypomina całość. Mandelbrot prowadził badania przy pomocy...
  • REGON
    There are no translations available.Regon jest numerem identyfikującym podmioty gospodarcze w Polskim Rejestrze Gospodarki Narodowej. Dawniej numer ten był 7-cyfrowy, później REGON rozszerzono na 9 cyfr. Dawne numery 7-cyfrowe poprzedzono dwoma 0, uzyskując w ten sposób numery 9-cyforwe. Jak mówi rozporządzenie "Sposób i metodologia prowadzenia i aktualizacji rejestru podmiotów gospodarki narodowej...", Dz.U.99.69.763 numer...
  • EAN-13
    There are no translations available. By kod EAN-13 (http://www.algorytm.org/index.php?option=com_content&task=view&id=143&Itemid=54) mógł zostać automatycznie "przeczytany" przez urządzenia skanujące musi zostać przetworzony do postaci kodu kreskowego. Sposób kodowania jest na pierwszy rzut oka nieco skomplikowany a to wszystko za sprawą kodu UPC-A (index.php?option=com_content&task=view&id=207&Itemid=54), z...
  • Histogram
    There are no translations available.Histogram obrazu w odcieniach szarosci wyznaczany jest jako suma wszystkich pikseli o danej wartosci. Przeanalizujmy to na przykładzie. Mamy dany obraz o wymiarze 3x2, o 4 odcieniach szarości (0-3). Czcionką pogrubioną zaznaczono aktualnie rozpatrywaną komórkę obrazu. Obraz 101 221 ...


Danation
Donate us


RSS Channels
Articles
Implementations
Comments
Forum


Bookmarks








Who's Online
We have 15 guests online

Poll
Czy znalazłeś na stronach www.algorytm.org to czego szukałeś?
 

www.algorytm.org (c) 2000-2010