ASD Ćwiczenia 2: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rytter (dyskusja | edycje)
Nie podano opisu zmian
Rytter (dyskusja | edycje)
Nie podano opisu zmian
Linia 4: Linia 4:


Udowodnij, że algorytm Sklejanie-Par jest poprawny. Co by było, gdybyśmy w jednym kroku sklajali dwa lub trzy elementy, koszt
Udowodnij, że algorytm Sklejanie-Par jest poprawny. Co by było, gdybyśmy w jednym kroku sklajali dwa lub trzy elementy, koszt
sklejenia suma wag.
sk 
 
  ==  =='''Zadanie 1''' ==
 
Udowodnij, że algorytm Sklejanie-Par jest poprawny. Co by było, gdybyśmy w jednym kroku sklejali co najwyżej k elemnów, kosztem
pojedyńczego sklejenia jest w dalszym ciągu suma wag.


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Linia 10: Linia 15:


<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
????????????.
Postępujemy podobnie jak poprzednio, za kżdym rzem wybieramy do sklejenia k najmniejszych elemenów, z tym że w pierwszej
iteracji liczba elementów moe być mniejsza, musi być taka żeby w każdej następnej iteracji sklejać dokładnie k.
  </div>
  </div>
</div>
</div>


<font color=darkred> ----------------------------------------------------------------------
 


'''Zadanie 2''' </font>
  =='''Zadanie 2''' ==


Opisz algorytm na znajdowanie fałszywej monety wynikający z rekurencyjnego wzoru <math> a_n=3\cdot a_{n-1}+3 </math>
Opisz algorytm na znajdowanie fałszywej monety wynikający z rekurencyjnego wzoru <math> a_n=3\cdot a_{n-1}+3 </math>
Linia 24: Linia 30:


<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
????????????.
Algorytm najpierw rekurencyjnie korzysta z algorytmu dla n-1 grupując monety w paczki po trzy. Do tych paczek stosujemy algorytm dla n-1
Dodatkowo musimy sprytnie dożucić trzy monety.
  </div>
  </div>
</div>
</div>




<font color=darkred> ----------------------------------------------------------------------
 


'''Zadanie 4''' </font>
  =='''Zadanie 3''' ==


Zmodyfikuj algorytm Sortowanie-Kolejkowe tak aby w czasie O(n log n) liczył liczbę inwersji w permutacji.  
Zmodyfikuj algorytm Sortowanie-Kolejkowe tak aby w czasie O(n log n) liczył liczbę inwersji w permutacji.  
Linia 39: Linia 46:
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Skorzystaj z algorytmu
Skorzystaj z algorytmu
liczącego liczbę inwersji mięðzy dwoam posortowanymi tablicami.
liczącego liczbę inwersji mięðzy dwoma posortowanymi tablicami.


  </div>
  </div>
Linia 45: Linia 52:




<font color=darkred> ----------------------------------------------------------------------
 
 
'''Zadanie 4''' </font>


  =='''Zadanie 4''' ==


Jak policzyć liczbę kolejkową w czasie liniowym.


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Linia 55: Linia 62:


<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
????????????.
Wynikiem jest k-1, gdzie k jest wynikiem algorytmu Najdłuższy-Malejący.
Potraktujmy ciąg elementów bezposrednio wyoisywanych z wejścia na wyjści jako
dodatkową kolejkę. Wtedy kolejki odpowiadaja ciągom elemenów wpisywanych kolejno do tablicy na
określona pozycje w algorytmie Najdłuższy-Malejący.
  </div>
  </div>
</div>
</div>

Wersja z 11:32, 11 wrz 2006

----------------------------------------------------------------------

Zadanie 1

Udowodnij, że algorytm Sklejanie-Par jest poprawny. Co by było, gdybyśmy w jednym kroku sklajali dwa lub trzy elementy, koszt sk

 ==  ==Zadanie 1 ==

Udowodnij, że algorytm Sklejanie-Par jest poprawny. Co by było, gdybyśmy w jednym kroku sklejali co najwyżej k elemnów, kosztem pojedyńczego sklejenia jest w dalszym ciągu suma wag.

Rozwiązanie


 ==Zadanie 2 ==

Opisz algorytm na znajdowanie fałszywej monety wynikający z rekurencyjnego wzoru an=3an1+3

Rozwiązanie



 ==Zadanie 3 ==

Zmodyfikuj algorytm Sortowanie-Kolejkowe tak aby w czasie O(n log n) liczył liczbę inwersji w permutacji.

Rozwiązanie



 ==Zadanie 4 ==

Jak policzyć liczbę kolejkową w czasie liniowym.

Rozwiązanie