W informatyce często musimy rozwiązywać relacje powtarzalności , to znaczy znaleźć zamkniętą formę dla rekurencyjnie zdefiniowanej sekwencji liczb. Rozważając środowiska wykonawcze, często jesteśmy zainteresowani głównie asymptotycznym wzrostem sekwencji . Przykładami są Czas działania funkcji rekurencyjnej ogona schodzącej w dół do 000 od nnn którego ciało wymaga czasu f(n)f(n)f(n) : T(0)T(n+1)=0=T(n)+f(n)T(0)=0T(n+1)=T(n)+f(n)\qquad …
Wikipedia, jak również inne źródła, które znalazłem, wskazują voidtyp C jako typ jednostki, a nie typ pusty. Uważam to za mylące, ponieważ wydaje mi się, że voidlepiej pasuje do definicji typu pustego / dolnego. voidO ile wiem, nie zamieszkują żadnych wartości . Funkcja z typem zwracanym void określa, że funkcja …
Czy istnieje ogólna metoda rozwiązania problemu ponownego wystąpienia formularza: T(n)=T(n−nc)+T(nc)+f(n)T(n)=T(n−nc)+T(nc)+f(n)T(n) = T(n-n^c) + T(n^c) + f(n) dla c<1c<1c < 1 lub bardziej ogólnie T(n)=T(n−g(n))+T(r(n))+f(n)T(n)=T(n−g(n))+T(r(n))+f(n)T(n) = T(n-g(n)) + T(r(n)) + f(n) gdzie g(n),r(n)g(n),r(n)g(n),r(n) są niektórymi funkcjami subliniowymi nnn . Aktualizacja : Przejrzałem linki podane poniżej, a także przejrzałem wszystkie relacje powtarzalności …
Twierdzenie Master jest pięknym narzędziem do rozwiązywania pewnych rodzajów nawrotów . Jednak często nakładamy połysk na integralną część podczas jej nakładania. Na przykład podczas analizy Mergesort z radością wychodzimy T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)\qquad T(n) = T\left(\left\lfloor \frac{n}{2} \right\rfloor\right) + T\left(\left\lceil \frac{n}{2} \right\rceil\right) + f(n) do T′(n)=2T′(n2)+f(n)T′(n)=2T′(n2)+f(n)\qquad T'(n) = 2 T'\left(\frac{n}{2}\right) + f(n) biorąc …
Obecnie uczę się samouczka Wprowadzenie do algorytmów (CLRS) i istnieje jedna szczególna metoda, którą opisują w książce w celu rozwiązania relacji nawrotów. W tym przykładzie można zilustrować następującą metodę. Załóżmy, że mamy powtórzenie T.( n ) = 2 T.( n--√) + lognT(n)=2T(n)+lognT(n) = 2T(\sqrt n) + \log n Początkowo dokonują …
Mam następujący kod Python. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Jaki jest czas działania tego algorytmu? Próbować: Jeśli oznacza czas działania funkcji . Więc myślę, że mam { T ( n ) = 1 dla n ≤ 1 T ( n …
Jak wynika z mojego poprzedniego pytania , bawiłem się hipotezą Riemanna jako zagadnieniem matematyki rekreacyjnej. W trakcie tego procesu doszłam do dość interesującego nawrotu i jestem ciekawa jego nazwy, jej redukcji i podatności na rozwiązywanie luki między liczbami pierwszymi. Krótko mówiąc, możemy zdefiniować odstęp między każdą liczbą pierwszą jako powtórzenie …
Rozważ powtórzenie T(n)=n−−√⋅T(n−−√)+cnT(n)=n⋅T(n)+cn\qquad\displaystyle T(n) = \sqrt{n} \cdot T\bigl(\sqrt{n}\bigr) + c\,n dla z pewną stałą dodatnią , a .c T ( 2 ) = 1n>2n>2n \gt 2cccT(2)=1T(2)=1T(2) = 1 Znam twierdzenie Master dotyczące rozwiązywania nawrotów, ale nie jestem pewien, w jaki sposób moglibyśmy rozwiązać tę relację za pomocą tego. Jak podchodzisz …
Próbuję znaleźć granicę ΘΘ\Theta dla następującego równania rekurencyjnego: T(n)=2T(n/2)+T(n/3)+2n2+5n+42T(n)=2T(n/2)+T(n/3)+2n2+5n+42 T(n) = 2 T(n/2) + T(n/3) + 2n^2+ 5n + 42 Uważam, że Twierdzenie Mistrza jest nieodpowiednie ze względu na różną liczbę podproblemów i podziałów. Również drzewa rekurencyjne nie działają, ponieważ nie ma a raczej T ( 0 ) .T(1)T(1)T(1)T(0)T(0)T(0)
p liczbę Fibonacciego można obliczyć w czasie liniowej stosując następujący nawrotu:nnn def fib(n): i, j = 1, 1 for k in {1...n-1}: i, j = j, i+j return i p liczbę Fibonacciego może być obliczana jako . Ma to jednak problemy z zaokrąglaniem nawet dla stosunkowo niewielkiej . Prawdopodobnie są …
W przypadku problemu ze stacją benzynową podajemy miast i drogi między nimi. Każda droga ma długość, a każde miasto określa cenę paliwa. Jedna jednostka drogi kosztuje jedną jednostkę paliwa. Naszym celem jest przejście ze źródła do miejsca docelowego w najtańszy możliwy sposób. Nasz czołg jest ograniczony pewną wartością.{ 0 , …
Biorąc pod uwagę następujące równanie rekurencyjne T.( n ) = 2 T.( n2)) +nlognT(n)=2T(n2)+nlogn T(n) = 2T\left(\frac{n}{2}\right)+n\log nchcemy zastosować twierdzenie Master i zauważyć, że nlog2)( 2 )= n .nlog2(2)=n. n^{\log_2(2)} = n. Teraz sprawdzamy dwa pierwsze przypadki dla ε > 0ε>0\varepsilon > 0 , czyli czy n logn ∈ O …
Usiłuję zrozumieć, co jest nie tak z następującym dowodem kolejnego wystąpienia T(n)=2T(⌊n2⌋)+nT(n)=2T(⌊n2⌋)+n T(n) = 2\,T\!\left(\left\lfloor\frac{n}{2}\right\rfloor\right)+n T(n)≤2(c⌊n2⌋)+n≤cn+n=n(c+1)=O(n)T(n)≤2(c⌊n2⌋)+n≤cn+n=n(c+1)=O(n) T(n) \leq 2\left(c\left\lfloor\frac{n}{2}\right\rfloor\right)+n \leq cn+n = n(c+1) =O(n) Dokumentacja mówi, że jest błędna z powodu hipotezy indukcyjnej, że T(n)≤cnT(n)≤cn T(n) \leq cn Czego mi brakuje?
Studiuję najgorszy czas wykonywania Quicksort pod warunkiem, że nigdy nie zrobi bardzo niezrównoważonej partycji dla różnych definicji bardzo . Aby to zrobić, zadaję sobie pytanie, jaki byłby czas działania w przypadku, gdy Quicksort zawsze zdarza się podzielić na ułamek taki, że Elementy znajdują się w lewej przegrodzie, a znajdują się …
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.