Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » algoks » Forendiskussionen   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:bachelor:algoks:loesungws13 [22.07.2015 08:58] Fertupruefungen:bachelor:algoks:loesungws13 [18.07.2016 12:58] (aktuell) ThiloK
Zeile 14: Zeile 14:
 **b)** O(n³) **b)** O(n³)
  
-**c)** //???//+**c)** O(n^2)
  
 **d)** O(n log n) **d)** O(n log n)
Zeile 24: Zeile 24:
 **g)** O(h²) **g)** O(h²)
  
-**h)** O(h^5)+**h)** O(h^4)
  
  
Zeile 74: Zeile 74:
  
 <code> <code>
-x_1 = |-8| +x_1 = | 8| 
-      | 4| +      |-4| 
-      | 0+      | 2
-      |-8|+      | 7|
 </code> </code>
  
Zeile 143: Zeile 143:
 **f)** **f)**
 <code> <code>
-     FOR(i,1,dim-1) +filter 
-          FOR(j,1,dim-1) +
-             dst.setValue(i-1j-1, + double filter[3][3] =  
-                 src.getValue(i-1,j+
-                 +src.getValue(i,j-1) + {0,1,0}, 
-                 +src.getValue(i+1,j) + {1,-4,1}, 
-                 +src.getValue(i,j+1) + {0,1,0} 
-                 -4src.getValue(i,j));+ }; 
 + 
 + for(int x=1;x<src.getDim()-1; x++
 +
 + for(int y=1;y<src.getDim()-1; y++
 +
 + double newValue=0; 
 + for(int i=0;i<3;i++) 
 +
 + for(int j=0;j<3;j++
 +
 + newValue+=src.getValue(x-1+i,y-1+j)*filter[j][i]; 
 +
 +
 + dest.setValue(x-1,y-1,newValue); 
 +
 +
 +}
 </code> </code>
 **g)** **g)**
 <code> <code>
-     FOR(i,1,dim-1) +filter 
-          FOR(j,1,dim-1) +
-             dst.setValue(i-1, j-1, + Image tmp(src.getDim()); 
-                 src.getValue(i,j-1) + double filterX[3]={3,10,3}; 
-                 -src.getValue(i,j+1) + double filterY[3]={1,0,-1}; 
-                 +3*src.getValue(i-1,j+ for(int x=0;x<src.getDim();x++
-                 +3*src.getValue(i+1,j+
-                 +10*src.getValue(i,j));+ for(int y=1;y<src.getDim()-1;y++
 +
 + double newValue=0; 
 + for(int i=0;i<3;i++) 
 +
 + newValue+=src.getValue(x,y-1+i)*filterY[i]; 
 +
 + tmp.setValue(x,y-1,newValue); 
 +
 +
 + 
 + for(int x=1;x<src.getDim()-1;x++
 +
 + for(int y=1;y<src.getDim()-1;y++) 
 +
 + double newValue=0; 
 + for(int i=0;i<3;i++
 +
 + newValue+=src.getValue(x-1,y-1+i)*filterX[i]; 
 +
 + tmp.setValue(x-1,y-1,newValue); 
 +
 +
 +}
 </code> </code>
  
Zeile 191: Zeile 231:
 **e)** **e)**
  
-f_p = 5.5+f_p = 8
  
 **f)** **f)**
Zeile 201: Zeile 241:
 tau = 1/4 tau = 1/4
  
-f_p = 7+f_p = 6
  
 ==== Aufgabe 6 - Bezier-Kurven ==== ==== Aufgabe 6 - Bezier-Kurven ====
Zeile 207: Zeile 247:
 //meine Sexistische Bildbeschreibung// //meine Sexistische Bildbeschreibung//
  
-//! i have no idea what i am doing here, schlimmste Bezier-Aufgaben den ich so begegnet bin !// 
  
 **a)** **a)**
  
-Schaut wie Busen (von oben) aus. :)+Schaut wie ein Busen (von oben) aus. :)
  
 **b)** **b)**
  
-Busen der links und rechts ausbuechst :)+<del>Busen der links und rechts ausbuechst :)</del>  
 +Ist leider falsch, da das die Eigenschaft "BK liegt in der konvexen Huelle des Kontrollpolygons" verletzt. Mein Vorschlag waere, an den beiden Eckpunkten nicht tangetial nach innen zu laufen.
  
 **c)** **c)**
Zeile 273: Zeile 313:
 **c)** **c)**
  
 +[[https://upload.wikimedia.org/math/a/2/5/a250ae852ee82383c95c539c8fafd600.png|Formel]] siehe [[https://en.wikipedia.org/wiki/Low-rank_approximation#Proof_of_Eckart.E2.80.93Young.E2.80.93Mirsky_theorem_.28for_Frobenius_norm.29|hier]] fuer Erklaerung.
 <code> <code>
-1/18 A+A_1 = u_1 sigma_1 * v1^T
  
-= | 6 6 6 -+A_1 = 
-    24 24 24 -24 +1/3 * 1 1 1 -
-    48 48 48 -48 |+      4 4 4 -
 +      8 8 8 -|
 </code> </code>
  
Zeile 287: Zeile 329:
 x_1 = (9/8 3) ^T x_1 = (9/8 3) ^T
  
-s_0 = (1 0)+s_0 = (1 0)  ---> ist bei der Aufgabe aber gar nicht gefragt, bzw. wird nicht benoetigt.
  
 **b)** **b)**
Zeile 303: Zeile 345:
 **d)** **d)**
  
-(1 0)^T+Vorgehensweise: Y = b^T * A berechnen; Danach Y * (x_1, x_2)^T =! 0 
 + 
 +Y = (0, 4)^T 
 + 
 +Es muss folgendes LGS geloest werden: 0 * x_1 + 4 * x_2 = 0 
 + 
 +(1 0)^T ---> x_1 kann beliebig gewaehlt werden. 
 + 
 +<del>**e)** 
 +[5/4,13/4] T</del> 
 + 
 +Es gibt keine Aufgabe 8e) 
 + 
 +==== Aufgabe 9 - Median Cut ==== 
 + 
 +<del>Median Cut konnte ich aus den Vorlesungsfolien nicht nachvollziehen.</del>  
 + 
 +1. Bounding Box zeichnen: Ein Rechteck zeichnen, bei dem alle Punkte innerhalb der Box liegen. Die aeussersten Punkte markieren dabei die Grenzen des Rechtecks. 
 + 
 +2. Bounding Box halbieren, dass in etwa gleich viele Punkte in der oberen/linken und unteren/rechten Box liegen.
  
-==== Aufgabe 8 - Median Cut ====+3. Das wird rekursiv fuer jede weitere Box gemacht (hier 3x, da nur 3 Schritter verlangt sind).
  
-Median Cut konnte ich aus den Vorlesungsfolien nicht nachvollziehen+{{:pruefungen:algoks:13731447_922029487923921_9065235718839317613_n.jpg?nolink&500 |Bounding Box}}\\