Jaki algorytm wykorzystalibyście do stworzenia symulacji mandatów w parlamencie?
Chciałbym to zrobić w #canvas, musi być możliwość automatycznego generowania odpowiedniej ilości miejsc na podstawie danych wejściowych (user podaje wielkość parlamentu). Chodzi mi właśnie o to, jak zautomatyzować generowanie miejsc w ten sposób, żeby zawsze była odpowiednia struktura tego parlamentu (kolejne rzędy, kolorowanie miejsc po kolei wg partii etc.)

#frontend #javascript #programowanie #algorytmy
Trustm3 - Jaki algorytm wykorzystalibyście do stworzenia symulacji mandatów w parlame...

źródło: comment_rkKoIAQNivxRx6nRJFrispC52IfjV4Uq.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Trustm3: jeśli już to:
1. user podaje ilość tych kropek (miejsc) i ilość rzędów
2. wyliczyć ile kropek umieścić w każdym rzędzie żeby były umieszczone mniej więcej w takich samych odstępach (każdy rząd ma inną długość)
3. narysować kropki - wyliczyć promień dla każdego rzędu a w każdej pętli rzędu wyliczyć x,y każdej kropki za pomocą funkcji trygonometrycznych
4. kolorować można na różne sposoby, najlepiej chyba trzymać kąt odchylenia każdej kropki od 0
  • Odpowiedz
1. Skąd się bierze to, że metoda get() ma w ArrayList ma złożoność czasową O(1), a w LinkedList średnio O(n/4)? (jakie mają różnice w implementacji wpływające na to?)

2. W ArrayList przy metodach typu remove(index) i add(index, E) złożoność jest średnio O(n/2), a przy LinkedList O(n/4), ale przy Iterator.remove() ArrayList ma O(n/2), a LinkedList O(1). Skąd się to bierze? ArrayList przechodzi od końca do początku, a LinkedList albo od końca albo od
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@trevoz: jeżeli dobrze to rozumiem, to chcesz osiągnąć układ, gdzie:
L -> HT
G -> HT
HT -> L'
HT -> G'

typy, a już w szczególności jakieś void* nie mają tutaj nic do rzeczy.
  • Odpowiedz
@trevoz: chodzi o połączenia jednostronne, a nie dwustronne, z tego, co widzę. wtedy mając wskaźniki na L i G masz dostęp do wszystkich węzłów.
  • Odpowiedz
  • 1
Mirki, jak rozwiązac taki problem?
Wpadlem na pomysl zrobienia pewnej rzeczy zwiazanej z lokalizacja i chce rozkminic taka rzecz:

Mamy np. miasto i 10 różnych punktów, dajmy na to stacji benzynowych. Chce wyznaczyć obszary, które do danej stacji mają bliżej, niż do każdej innej. Dla uproszczenia odległość w linii prostej. Punkty, które maja jednakowa odleglosc do kilku stacji moga byc rowniez zaznaczone.

Ktos ma pomysł w ogole jak to ugryzc? Wyliczanie odleglosci miedzy punktami na
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Algorytmy mogą wkrótce zastąpić nie tylko matematyków, ale także projektantów. Agencja Ogilvy & Mather stworzyła specjalny algorytm, który zaprojektował siedem milionów różnych opakowań na Nutellę.

http://label-magazine.com/algorytm-projektuje-nutelle-ezp-7375.html

#grafika #technologia #ciekawostki #design #algorytmy
F.....r - Algorytmy mogą wkrótce zastąpić nie tylko matematyków, ale także projektant...

źródło: comment_lfq06EGGA6WciVP1ClbuboO3EEcTjqGo.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Finster: blablabla, algorytm który tylko tworzy etykiety na podstawie patternów. Komputer jednak cały czas ma problem z odtworzeniem emocji, stworzeniem rzeczy które ludzie będą odbierali w taki a nie inny sposób. Jeszcze długa droga przed automatyzacją projektowania, a sama branża ma dość małe zagrożenie z punktu widzenia automatyzacji.
  • Odpowiedz
1. Jaka jest różnica pomiędzy "O(1) amortized" przy LinkedList, a "O(1)" przy ArrayList przy metodzie add?
2. Co znaczy "e: E" na obrazku niżej? To znaczy, że dana metoda przyjmuje obiekt?
3. Czy domyślnie przy instalacji są takie metody jak addFirst i addLast? W dokumentacji występuje coś takiego, a u mnie nie ma tych metod. Jest add i addAll tylko z tych na "a".

#java #naukaprogramowania #algorytmy
fefler - 1. Jaka jest różnica pomiędzy "O(1) amortized" przy LinkedList, a "O(1)" prz...

źródło: comment_B7ePQ2zPpJmVf9Z8aommhplpSJwjObZu.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fefler: E e to popularne oznaczenie że ta metoda przyjmuje typ generyczny, bo wiesz lista w javie ma List
3. są, ale nie we wszystkich miejscach, addFirst i addLast są częścią Deque (które implementuje też LinkedList), ale zawsze można te operacje przeprowadzić ręcznie na arraylist za pomocą metody .add(e) = addLast(e), lub add(0, e) = addFirst(e)

teraz te amortized... to szczerze mówiąc kompletnie nie rozumiem, spodziewałbym się go w ArrayList...
w LinkedList by
  • Odpowiedz
@GotoFinal: No też właśnie mi to nie pasuje ani trochę, ale myślałem że może czegoś nie łapię albo coś.
Z tym dodawaniem to uzupełniłbym też że w przypadku LinkedList dodanie w środku elementu to
1. Znalezienie indeksu który nas interesuje O(n)
2. Podmiana referencji w 3 obiektach O(1).
Gdzie w przypadku ArrayListy to jest
1. Przepisanie wszystkich elementów na prawo od indeksu i
  • Odpowiedz
#algorytmy #cpp Klasyka gatunku: Mam pytanie dotyczące Quick Sorta. Napisałem implementacje z tego schematu blokowego. Rzecz prozaiczna ale co jest parametrem funkcji quicksort w rekurencyjnym wywołania funkcji ? (tutaj wywala błąd ).
pytanie nr 2. Gdzie mogę zaimplementować licznik porównań ? trochę cięższy temat do którego nie wiem jak podejść. Z góry dziękuje :3
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Florian3k: okej punkt pierwszy zrobiony, ( bardziej techniczne problemy wystąpiły ). Ale nie jestem pewien czy dobrze wstawiłem liczniki. Pierwszy w punkcie gdzie jest pierwszy warunek zamieniający tab[i] z tab[j], kolejne dwie przy wywołaniu funkcji wtedy gdy przechodzi do prawego i lewego podzbioru. I Z tego co wiem nie będzie "książkowej " złożoności obliczeniowej (nlogn) bo pivot jest wyznaczany z środka a nie losowo tak ?
  • Odpowiedz
Mireczki znacie jakieś oprogramowanie, system, czy algorytm ,który selekcjonowałby skany dokumentów(PDF, JPEG, PNG) gorszej jakości(np. słaba rozdzielczość albo brak możliwości odczytania tekstu) i eliminował je ze zbioru? Słyszeliście chociaż jak się nazywa taka tematyka? #informatyka #algorytmy #pc #pytanie #pytaniedoeksperta
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #algorytmy

Mirki, w jakiej ksiazce moge poczytac o algorytmie Tarjana do wyszukiwanie silnie spojnych skladowych?

W necie sucho, a nie chce sciagac gotowca.

PS oczywiscie przygotowalem rozwiazanie algorytmem korsaju i sie przed chwila dowiedzialem, ze mozna zrobic to lepiej.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Pytanie z #programowanie a może bardziej #algorytmy, otóż chcę wygenerować "plik"/tablicę/to niekluczowe bardzo duży.
Charakterystyka tego tych danych jest taka, że to, a jakże by inaczej, jedynka lub zero, z tym, że jedynek jest bardzo mało w stosunku do zer, chcę aby te dane zajmowały oczywiście jak najmniej pamięci.

Ok, nasuwa się oczywiste rozwiązanie, spakować to
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@LowcaG: Nadal podajesz mało tych danych, ale mam pewien pomysł, stwórz sobie tablicę liczb (zacznij od short unsigned int) i każda liczba w tej tablicy oznacza ilość zer albo jedynek.

Przykład:
Dane oryginalne: 0000 111 00000000 1 00000000 1 0 1 0
Dane zakodowane: 4,3,8,1,8,1,1,1,1

Zakładając, że kodujesz w ten sposób już istniejący wcześniej ciąg, złożoność zapisu i odczytu jest liniowa z ilością elementów (przy najprostszym przeszukiwaniu, ale wydaje mi
  • Odpowiedz
◢ #unknownews

Ciekawe znaleziska z weekendu - dziś będzie krótko, bo pominąłem tematy o których mówią wszyscy (ransomware, wybory we Francji itp.), więc niewiele tego zostało ;)

1) Jak robić dobre zdjęcia z użyciem #iphone 7 - oficjalny poradnik od #apple
https://www.apple.com/iphone/photography-how-to/
imlmpe - ◢ #unknownews ◣

Ciekawe znaleziska z weekendu - dziś będzie krótko, bo po...

źródło: comment_CfU4BpbNrZy4QCH7a50ERCqfgJCYo0GR.jpg

Pobierz
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak rozwiązać zadanie 2.3 w 8 min. przy pomocy tylko kartki długopisu i kalkulatora? Zakładając, że 2.1 i 2.2 zostało wykonane poprawnie w czasie 16 min.

Link do arkusza: http://plikicke.cie.men.gov.pl/_EGZAMIN_MATURALNY/2017/FORMULA_OD_2015/informatyka/MIN-R1_1P-172.pdf

Udało mi się zrobić 2.1 i 2.2 a nie potrafię wymyślić sposobu wykonania 2.3 bez ręcznego liczenia metodą prób i błędów. Napisałem nawet program w Pythonie - dalej nie wiem jak szybko dojść do wyniku na kartce jeżeli warunek będzie inny. Próbowałem
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aHmuX: no to moze spojrz na algorytm a nie na wyniki ktorych na egzaminie i tak nie wygenerujesz? jak ostatni bit jest rowny 1 dodajemy 1, jak rowny 0 odejmujemy 1 i patrzymy na kolejne. czyli liczymy roznice liczby wystapien 1 i 0 w zapisie dwojkowym
  • Odpowiedz
Czy jest jakaś dziedzina programowania (jakiś algorytm, zastosowanie biznesowe, cokolwiek), w którym Python (lub generalnie języki interpretowane typowane dynamicznie) przeważa nad C# (lub generalnie językami kompilowanymi, typowanymi statycznie) w kontekście takich rzeczy, jak czas wykonywania danego zagadnienia lub zużycia RAMu/CPU?

Przetestowałem (naiwne bo naiwne) implementacje takich zagadnień jak:
Bubble sort (tak, wiem, najwolniejszy, ale napisałem to dla porównania)
Quick sort
Generowanie N liczb pierwszych
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@asunez: Raczej ciężko będzie coś takiego znaleźć. Języki kompilowane zawsze będą szybsze od interpretowanych. Interpretowanych używa się raczej tam gdzie liczy się łatwość i szybkość developmentu, przenośność, łatwość utrzymania itd. a wydajność nie jest istotnym kryterium.

Oczywiście jest to uproszczenie, bo nic nie stoi na przeszkodzie by kod pythona skompilować i uzyskać wydajność na poziomie C# czy C.
  • Odpowiedz
  • 2
@fefler ma wejściu masz liczbę naturalną, zmieniasz ja sobie na binarna i liczysz największą ilość zer ograniczoną 1 na początku i na końcu, na przykład :
10001001 odpowiedz to 4 bo '10001',musisz pamiętać, że musi być 1 na początku i na końcu
  • Odpowiedz
@fefler: tu nie ma żadnych drzew binarnych, po prostu liczysz sobie, ile najwięcej zer pod rząd uda ci się zebrać
warunek: na początku musi być 1 (to akurat nie problem) i pod koniec musi być 1
  • Odpowiedz