Algorytm jest sekwencją dobrze zdefiniowanych kroków, które definiują abstrakcyjne rozwiązanie problemu. Użyj tego tagu, gdy Twój problem dotyczy projektowania i analizy algorytmów.
Czy znasz jakiś algorytm, który skutecznie oblicza silnię po module? Na przykład chcę zaprogramować: for(i=0; i<5; i++) sum += factorial(p-i) % p; Ale pjest duża liczba (prime) stosowania bezpośrednio silnia (p≤108)(p≤108)(p \leq 10^ 8) . W Pythonie to zadanie jest naprawdę łatwe, ale naprawdę chcę wiedzieć, jak zoptymalizować.
WalkSAT i GSAT są dobrze znanymi i prostymi lokalnymi algorytmami wyszukiwania służącymi do rozwiązania logicznego problemu satysfakcji. Pseudokod algorytmu GSAT jest kopiowany z pytania Implementacja algorytmu GSAT - Jak wybrać literał, który ma być odwrócony? i przedstawione poniżej. procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do …
Chciałbym napisać prosty program, który akceptuje zestaw okien (szerokość + wysokość) oraz rozdzielczość ekranu i wyświetla układ tych okien na ekranie, aby okna zajmowały najwięcej miejsca. Dlatego można zmienić rozmiar okna, zachowując output size >= initial sizei proporcje. Tak więc dla okna chciałbym, aby algorytm zwrócił krotkę .( x , …
Mam zadanie, w którym muszę skorzystać z drzewa wyszukiwania binarnego i zmienić je, aby samo uporządkować się tak, aby elementy, do których najczęściej uzyskiwano dostęp (mają wyższy priorytet), znajdowały się na szczycie drzewa, przy czym węzeł główny był najczęściej dostępnym węzłem . Profesor dał mi BST i strukturę węzłów do …
Algorytm GSAT jest w większości prosty: dostajesz formułę w spójnej normalnej formie i przerzucasz literały klauzul, aż znajdziesz rozwiązanie, które spełnia formułę lub nie osiągniesz limitu max_tries / max_flips i nie znajdziesz rozwiązania. Implementuję następujący algorytm: procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do S <- …
Rozważ nieoznakowane, ukorzenione drzewa binarne. Możemy skompresować takich drzew: gdy istnieją wskaźniki do poddrzew i T ' z T = T ' (ustne = jak równość strukturalne), możemy zapisać (wlog) T i zastąpić wszystkie wskaźniki do T ' z wskazówki dla T . Zobacz odpowiedź uli na przykład.T.TTT.′T′T'T.= T′T=T′T = …
Zastanawiam się, jak znaleźć obwód rzadkiego nieukierunkowanego wykresu. Przez rzadki mam na myśli . Przez optymalne rozumiem najmniejszą złożoność czasową.| mi| =O ( | V|)|mi|=O(|V.|)|E|=O(|V|) Myślałem o pewnej modyfikacji algorytmu Tarjana dla niekierowanych grafów, ale nie znalazłem dobrych wyników. Właściwie pomyślałem, że jeśli uda mi się znaleźć 2 połączone elementy …
W mnożeniu macierzy Strassena stwierdzamy jeden dziwny (przynajmniej dla mnie) fakt, że mnożenie macierzy dwóch 2 x 2 wymaga mnożenia 7. Pytanie: Jak udowodnić, że niemożliwe jest pomnożenie dwóch macierzy 2 x 2 w 6 pomnożeniach? Należy pamiętać, że macierze są ponad liczbami całkowitymi.
Ponieważ między podstawami logarytmów jest tylko stała, to czy nie jest po prostu dobrze pisać f(n)=Ω(logn)fa(n)=Ω(logn)f(n) = \Omega(\log{n}) , w przeciwieństwie do Ω(log2n)Ω(log2)n)\Omega(\log_2{n}) , czy cokolwiek to może być podstawa?
Szukam algorytmu sortowania dla tablic int, który nie przydziela żadnych bajtów innych niż rozmiar tablicy i jest ograniczony do dwóch instrukcji: SWAP: zamień następny indeks na bieżący; MOVE: przesuwa kursor do indeksu +1 lub -1; Oznacza to, że nie można zamieniać niesąsiadujących indeksów ani zamieniać indeksu 100po zamianie indeksu 10. …
Mam tablicę 100 000 ciągów o długości . Chcę porównać każdy ciąg z każdym innym, aby zobaczyć, czy dwa ciągi różnią się o 1 znak. W tej chwili, gdy dodam każdy ciąg do tablicy, sprawdzam go względem każdego łańcucha już w tablicy, który ma złożoność czasową .kkkn(n−1)2kn(n−1)2k\frac{n(n-1)}{2} k Czy istnieje …
Załóżmy, że otrzymujesz liczbę mmm (używając O(logm)O(logm)O(\log m) bitów w kodowaniu binarnym). Jak szybko można znaleźć (lub stwierdzić, że takie nie istnieje) ?n,k∈N,1<k≤n2:(nk)=mn,k∈N,1<k≤n2:(nk)=mn,k\in \mathbb N, 1<k\leq\frac{n}{2}:{n \choose k}=m Na przykład, biorąc pod uwagę wejście , można wyprowadzić .m=8436285m=8436285m=8436285n=27,k=10n=27,k=10n=27, k=10 Naiwny algorytm dla problemu przekroczyłby wszystkie możliwe wartości dla i szukałby …
Rozważ następujący problem: Dane wejściowe: dwie tablice i o długości , gdzie jest posortowane.B n BAAABBBnnnBBB Pytanie: czy i zawierają te same elementy (z ich wielokrotnością)?B.AAABBB Jaki jest najszybszy algorytm deterministyczny dla tego problemu? Czy można to rozwiązać szybciej niż ich sortowanie? Czy ten problem można rozwiązać w deterministycznym czasie …
W związku z nadchodzącym okresem świątecznym postanowiłem zrobić gwiazdy cynamonu . To było zabawne (a wynik smaczny), ale mój wewnętrzny kujon skurczył się, gdy włożyłem pierwszą tacę gwiazd do pudełka i nie zmieściłyby się w jednej warstwie: Prawie! Czy istnieje sposób, w jaki mogliby pasować? Jak dobrze potrafimy kafelkować gwiazdy? …
Jak mogę posortować listę 5 liczb całkowitych tak, że w najgorszym przypadku potrzeba 7 porównań? Nie obchodzi mnie, ile innych operacji zostanie wykonanych. Nie wiem nic szczególnego o liczbach całkowitych. Wypróbowałem kilka różnych metod dzielenia i podbijania, które obniżają mnie do 8 porównań, takich jak stosowanie podejścia scalesort lub łączenie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.