Dzień dobry!
Czy zna ktoś może stronkę, gdzie w przystępny sposób wytłumaczona jest metoda rozwiązania równań różnicowych takich do obliczania złożoności obliczeniowej algorytmów? Słuchałem na wykładzie/ćwiczeniach ale jakoś do mnie nie dotarło, a im więcej materiałów do nauki tym lepiej (albo inaczej - nigdy nie jest za dużo materiałów do nauki).
Ponadto mam 2 zadania do zrobienia, ale w pierwszym nie rozumiem trochę polecenia:
Drzewo czwórkowe o wysokości 0 jest puste, natomiast drzewo czwórkowe o wysokości h > 0 składa się z jednego wierzchołka zwanego korzeniem oraz z czterech poddrzew będących drzewami czwórkowymi o wysokości mniejszej niż h, z których co najmniej jedno ma wysokość h − 1. Znajdź wzory opisujące dla każdego h ∈ {0, 1, 2, . . .} minimalną i maksymalną liczbę wierzchołków w drzewie czwórkowym o wysokości h, rozwiązując odpowiednie równania różnicowe (podaj uzasadnienie, skąd one się wzięły).
Jeśli chodzi o maksymalną liczbę to rozumiem - tak będzie gdy każde poddrzewo będzie wysokości h-1 i każde będzie maksymalnie obłożone. Równanie mam ułożone, tylko nie wiem jak rozwiązać to metodą równań różnicowych (łatwiej to rozwiązać "na chłopski łeb" intuicyjnie jak dla mnie).
Natomiast co do minimalnej ilości to nie rozumiem faktu rozbicia na te cztery poddrzewa wychodzące z korzenia, bo w drzewie binarnym już nie zawsze z jednego węzła wychodzą 2 potomkowie więc nie wiem czy np. drzewo czwórkowe gdzie z korzenia wychodzą 3 liście od razu i jedno poddrzewo h-1 to jest to minimalne?
A to 2. zadanie, trudniejsze jak dla mnie:
Jeśli liczba n > 1 jest podzielna przez m > 1, to zadanie obliczenia dyskretnej transformaty Fouriera ciągu liczb (zespolonych) a0, . . . , an−1 można sprowadzić do obliczenia m transformat podciągów o długości n/m , a następnie do obliczenia wyniku kosztem c(m − 1)n działań arytmetycznych (c = const). Dla n = 1 koszt obliczenia transformaty jest zerowy. (a) Rozwiązując odpowiednie równanie różnicowe, wyznacz koszt obliczenia transformaty dla n = 2^k i m = 2. (b) Przypuśćmy, że liczba n jest podzielna przez 4. Mając dane 4 transformaty odpowiednich podciągów o długości n/4 , można obliczyć transformatę całego ciągu danego, obliczając najpierw dwie transformaty podciągów o długości n/2 , a następnie końcowy wynik, albo można obliczyć końcowy wynik bezpośrednio na podstawie tych czterech transformat podciągów. Która metoda wymaga wykonania mniejszej liczby działań? Odpowiedź uzasadnij.
Tutaj w ogóle nie umiem tego zrobić... Nie podchodzi mi to.
Z góry dziękuję za każdą pomoc.
Pozdrawiam wszystkich!
Czy zna ktoś może stronkę, gdzie w przystępny sposób wytłumaczona jest metoda rozwiązania równań różnicowych takich do obliczania złożoności obliczeniowej algorytmów? Słuchałem na wykładzie/ćwiczeniach ale jakoś do mnie nie dotarło, a im więcej materiałów do nauki tym lepiej (albo inaczej - nigdy nie jest za dużo materiałów do nauki).
Ponadto mam 2 zadania do zrobienia, ale w pierwszym nie rozumiem trochę polecenia:
Drzewo czwórkowe o wysokości 0 jest puste, natomiast drzewo czwórkowe o wysokości h > 0 składa się z jednego wierzchołka zwanego korzeniem oraz z czterech poddrzew będących drzewami czwórkowymi o wysokości mniejszej niż h, z których co najmniej jedno ma wysokość h − 1. Znajdź wzory opisujące dla każdego h ∈ {0, 1, 2, . . .} minimalną i maksymalną liczbę wierzchołków w drzewie czwórkowym o wysokości h, rozwiązując odpowiednie równania różnicowe (podaj uzasadnienie, skąd one się wzięły).
Jeśli chodzi o maksymalną liczbę to rozumiem - tak będzie gdy każde poddrzewo będzie wysokości h-1 i każde będzie maksymalnie obłożone. Równanie mam ułożone, tylko nie wiem jak rozwiązać to metodą równań różnicowych (łatwiej to rozwiązać "na chłopski łeb" intuicyjnie jak dla mnie).
Natomiast co do minimalnej ilości to nie rozumiem faktu rozbicia na te cztery poddrzewa wychodzące z korzenia, bo w drzewie binarnym już nie zawsze z jednego węzła wychodzą 2 potomkowie więc nie wiem czy np. drzewo czwórkowe gdzie z korzenia wychodzą 3 liście od razu i jedno poddrzewo h-1 to jest to minimalne?
A to 2. zadanie, trudniejsze jak dla mnie:
Jeśli liczba n > 1 jest podzielna przez m > 1, to zadanie obliczenia dyskretnej transformaty Fouriera ciągu liczb (zespolonych) a0, . . . , an−1 można sprowadzić do obliczenia m transformat podciągów o długości n/m , a następnie do obliczenia wyniku kosztem c(m − 1)n działań arytmetycznych (c = const). Dla n = 1 koszt obliczenia transformaty jest zerowy. (a) Rozwiązując odpowiednie równanie różnicowe, wyznacz koszt obliczenia transformaty dla n = 2^k i m = 2. (b) Przypuśćmy, że liczba n jest podzielna przez 4. Mając dane 4 transformaty odpowiednich podciągów o długości n/4 , można obliczyć transformatę całego ciągu danego, obliczając najpierw dwie transformaty podciągów o długości n/2 , a następnie końcowy wynik, albo można obliczyć końcowy wynik bezpośrednio na podstawie tych czterech transformat podciągów. Która metoda wymaga wykonania mniejszej liczby działań? Odpowiedź uzasadnij.
Tutaj w ogóle nie umiem tego zrobić... Nie podchodzi mi to.
Z góry dziękuję za każdą pomoc.
Pozdrawiam wszystkich!