Aufgaben Lösung
Inhaltsverzeichnis |
Diese Seite hält die Lösungen der Aufgaben auf der Seite AuK/Teile und Herrsche 2 SS10/Aufgaben bereit.
Lösungen zu den Übungsaufgaben
Binäre Suche
Die Korrigierte Datei der Binären Suche Übung 1 Binäre Suche:
Simabrzo_Richtig-bin-suche.zipÜbung 2 der Binären suche: Der Quellcode einer Binären Suche:
<eval> (define d '(1 8 10 21 23 29 41 59 81 90 234 3333))</eval>
(bin-suche d 90)
Multiplikation großer ganzer Zahlen nach KARATSUBA und OFMAN
- 3812 \cdot 3264
Damit berechnet man r, sund t:
r=a_{1}\cdot b_{1}=38\cdot32=1216\\ s=(a_{0}-a_{1})\cdot(b_{0}-b_{1})=-832\\ t=a_{0}\cdot b_{0}=768\\ \\ a\cdot b = r\cdot z^{n}+(r+t-s)z^{\frac{n}{2}}+t=1216\cdot10^4+(1216+768+832)\cdot10^2+768=\underline{\underline{12442368}}- 837147 \cdot 479253
Damit berechnet man r, sund t:
r=a_{1}\cdot b_{1}=837\cdot479=400923\\ s=(a_{0}-a_{1})\cdot(b_{0}-b_{1})=(147-837)\cdot(253-479)=155940\\ t=a_{0}\cdot b_{0}=147\cdot253=37191\\ \\ a\cdot b = r\cdot z^{n}+(r+t-s)z^{\frac{n}{2}}+t=400923\cdot10^6+(400923+37191-155940)\cdot10^3+37191=\underline{\underline{401205211191}}- 34 \cdot 56
Damit berechnet man r, sund t:
r=a_{1}\cdot b_{1}=3\cdot5=15\\ s=(a_{0}-a_{1})\cdot(b_{0}-b_{1})=(4-3)\cdot(6-5)=1\\ t=a_{0}\cdot b_{0}=4\cdot6=24\\ \\ a\cdot b = r\cdot z^{n}+(r+t-s)z^{\frac{n}{2}}+t=15\cdot10^2+(15+24-1)\cdot10^1+24=\underline{\underline{1904}}Schnelle Matrixmultiplikation nach STRASSEN
Gegeben sind die zwei Matrizen A und B mit:
A=\begin{pmatrix} 3 & 4 & 8 & 9\\ 1 & 5 & 9 & 2\\ 5 & 7 & 4 & 3\\ 2 & 3 & 8 & 1 \end{pmatrix} und
B=\begin{pmatrix} 3 & 2 & 8 & 6\\ 1 & 4 & 9 & 5\\ 7 & 6 & 4 & 3\\ 2 & 9 & 2 & 3 \end{pmatrix}Die Matrizen zerlegt man nach folgendem Muster in Teilmatrizen:
Daraus ergeben sich die 8 Teilmatrizen:
A_{1,1}=\begin{bmatrix}3 & 4\\1 & 5\end{bmatrix}\text{, } A_{1,2}=\begin{bmatrix}8 & 7\\9 & 2\end{bmatrix}\text{, } A_{2,1}=\begin{bmatrix}5 & 7\\2 & 3\end{bmatrix}\text{, } A_{2,2}=\begin{bmatrix}4 & 3\\8 & 1\end{bmatrix}\\ B_{1,1}=\begin{bmatrix}3 & 2\\1 & 4\end{bmatrix}\text{, } B_{1,2}=\begin{bmatrix}8 & 6\\9 & 5\end{bmatrix}\text{, } B_{2,1}=\begin{bmatrix}7 & 6\\2 & 9\end{bmatrix}\text{, } B_{2,2}=\begin{bmatrix}4 & 3\\2 & 3\end{bmatrix}Damit lassen sich M_{1} bis M_{7} berechnen:
Danach kann man die 4 Teilmatrizen von C durch Addition bzw. Subtraktion berechnen.
Durch Zusammensetzen der Teilmatrizen zur Ergebnismatrix C ergibt sich das Ergebnis der Rechnung:
C=\begin{pmatrix}C_{1,1} & C_{1,2}\\C_{2,1} & C_{2,2}\end{pmatrix}= \underline{\underline{\begin{pmatrix} 83 & 133 & 106 & 83\\ 75 & 94 & 93 & 64\\ 56 & 89 & 125 & 86\\ 67 & 73 & 77 & 54 \end{pmatrix}}}