Potrzebuję małej pomocy od kolegów zarabiających po 15k ( ͡° ͜ʖ ͡°) Szukam jakiegoś prostego i wydajnego algorytmu żeby porównać wiersze macierzy. Mam mianowicie macierz [5][6] (elementy typu byte) i chcę żeby funkcja zwracała mi true jeśli choć 2 wiersze w macierzy będą takie same. Język to C a środowisko docelowe to uC w arduino. Ktoś ma pomysł? #programowanie #algorytmy #jezykc #
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lol_nope: Ja mam taką definicje.

Wysokość (głębokość, height, depth) drzewa – maksymalny spośród poziomów wszystkich węzłów drzewa.

Poziom (level) – zbiór określający lokalizację węzła w drzewie w sposób następujący: korzeń należy do poziomu pierwszego; węzły dowiązane bezpośrednio do korzenia należą do poziomu drugiego, itd.

Ale widzę różne w internecie (min na wiki)
  • Odpowiedz
Hejżehej. Znajdzie się jakiś nocny marek co to ma chwilę żeby rzucić na mój kod?
Głównie chodzi o to, że nie działa ( ͡° ͜ʖ ͡°)
Możliwe, że błąd jest trywialny, albo wszystko jest źle i muszę zacząć od nowa.
Kod jest implementacją algorytmu genetycznego który ma dojść do momentu rozwiązania. Rozwiązaniem jest string: "10101010...101010";
W najlepszym wypadku najlepszym po kilku tysiącach generacji na końcu okazuje się string o takim samym wskaźniku "fitowania do rozwiązania"
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Wyrewolwerowanyrewolwer: Nie zajmowałem się za bardzo algorytmami genetycznymi, więc na szybko opieram się na wiki, co może nie być idealnym źródłem, ale mogę napisać parę uwag.

Z tego co rozumiem, to krzyżowanie następuje zawsze (tyle razy, żeby liczebność w kolejnym pokoleniu została zachowana, więc liczba krzyżowań może być różna, np. w zależności od tego, czy i ile najlepszych osobników przenosisz bezpośrednio do następnego pokolenia), a nie tylko z pewnym prawdopodobieństwem, więc
  • Odpowiedz
@Wyrewolwerowanyrewolwer: po pierwsze, błąd za który karają biciem mydłem w zwiniętym ręczniku:
Nie. Rób. Metod. Statycznych
Metody static są powinny być używane jako helpery, nie jako trzon aplikacji.

Druga sprawa - strasznie to komplikujesz, niepotrzebnie.
Wystarczy że zrobisz interfejs Chromosome z metodami mutate(), crossover() i getAdaptationValue().
  • Odpowiedz
#algorytmy #programowanie #cormen
Mireczki, czy ktoś z was posiada książkę Cormena „Wprowadzenie do algorytmów”? Potrzebuję skan, zdjęcie jednej strony o wyznaczaniu dwu spójnych składowych. Niestety nigdzie w internecie nie mogę znaleźć pdf-a
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Muszę zaimplementować algorytm znajdowania dwu spójnych w grafie, mostów i wierzchołków rozdzielających. Więc potrzebuje tylko tego pseudokodu. Ale dziękuję Ci bardzo ;)
  • Odpowiedz
@TzK_: @OhRene: dzięki! Problem polega na przypisaniu osobnych kanałów radiowych (maks. 4) do nadajników radiowych tak, żeby te sąsiadujące ze sobą jak najmniej się zakłócały.
  • Odpowiedz
Jeszcze to się może przydać.
https://pl.wikipedia.org/wiki/Kolorowanie_grafu
Cytat: Klasyczne (wierzchołkowe) kolorowanie grafu – przyporządkowywanie wierzchołkom grafu liczb naturalnych w taki sposób, aby końce żadnej krawędzi nie miały przypisanej tej samej liczby. Ze względów historycznych oraz dla lepszego zobrazowania problemu mówi się o kolorowaniu, przy czym różnym kolorom odpowiadają różne liczby.
  • Odpowiedz
Hej Mirki, miałem kiedyś taki projekt do zrobienia na uczelni - w dużym skrócie: najkrótsza droga z A do B, algorytm Dijsktry, trudność polegała na tym, że koniec jednej podróży nie mógł mieć miejsca później niż początek drugiej - oczywista sprawa. Pałowałem się z tym po nocach przez tydzień, nie mogłem znaleźć jakiegoś prostego rozwiązania, w końcu skończyło się na pierdyliardzie ifów i rekurencji.
Trochę się moja wiedza o algorytmach posunęła od
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mk321: szukanie linków o klasach/atrybutach/id: next, prędkość, innych które zobaczysz i aktywowanie ich. Standardów nazw dla takich jest sporo - musisz sprawdzić i co znajdziesz inaczej działającą stronę to dopisać, załatwiając kolejny kawałek.

Ewentualnie sprawdź space next do Firefoksa - z tego co wiem działa jak stara opera, czy to co opisuje.
  • Odpowiedz
Czołem!

Given N (<= 100000), find the largest N-digit number such that:

The number has only 3 and 5 as its digits.
Number of times 3 appears is divisible by 5.
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czołem mireczki. Mam pytanie. Piszę w #jezykc taką prostą wyszukiwarkę słów z pliku źródłowego.
Wczytuję kolejno po jednej linii i sprawdzam, czy jest w niej szukane słowo.
Używam do tego funkcji "strstr".
Mam jednak problem, bo np szukając słowa "co" wyszukuje mi również "cokolwiek" albo na przykład "gorąco".
Jak to obejść bez wczytywania pliku znak po znaku? :/

#naukaprogramowania #algorytmy
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Piesa: mi chodziło o to, żeby strstr wywoływać w danej linii dopóki któreś wystąpienie nie byłoby prawidłowe (korzystając ze wskaźnika, który strstr zwraca, mógłbyś je wywołać dla tej części linii, która jeszcze nie została przejrzana). Ale jak już sobie jakoś poradziłeś, to ok. :)
  • Odpowiedz
@Szro: zewnętrzna pętla n razy, a wewnętrzna n + n-1 + n-2 + ... + 0, więc zamiana będzie wykonana n * (n + n-1 + n-2 + ... + 0), czyli n^2 + n^2-n + n^2-2n...
w notacji O w wielomianach interesuje nas tylko najwyższa potęga bez współczynnika, więc wynik to O(n^2)
  • Odpowiedz
#programowanie #algorytmy
Czy prawidłowo napisany algorytm triangulacji Delone'a (tylko dla 2d) może nie radzić sobie z jakimiś specyficznymi przypadkami konturów (wklęsłe z wieloma dziurami itp.)? Czy taka triangulacja zawsze "musi" się udać, a jak coś jest nie tak to winna jest tylko błędna implementacja?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W triangulacji rozpatrujesz punkty, a nie kontury, więc nie ma szans, żebyś dostał w ogóle jakiś niewypukły obrys. Do krawędzi triangulacji zawsze będzie należeć otoczka wypukła.
A jak czegoś nie zrozumiałem, to możesz pokazać na rysunku.
  • Odpowiedz