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:41] 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} 
-                 -src.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>
 +filter
 +{
 + Image tmp(src.getDim());
 + double filterX[3]={3,10,3};
 + double filterY[3]={1,0,-1};
 + for(int x=0;x<src.getDim();x++)
 + {
 + 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);
 + }
 + }
  
-//todo//+ 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>
  
  
Zeile 174: Zeile 222:
  
 **c)** **c)**
- 
-//! mit vorsicht zu geniessen da keine Ahnung !// 
  
 m_1 = 0 m_1 = 0
Zeile 182: Zeile 228:
  
 **d)** **d)**
- 
-// ka // 
  
 **e)** **e)**
-alpha = 1/3 
- 
-beta = 3/4 
  
 f_p = 8 f_p = 8
Zeile 194: Zeile 235:
 **f)** **f)**
  
-= 1/4+rho = 1/4
  
-= 1/2+sigma = 1/2
  
-= 1/4+tau = 1/4
  
-f_p = 8+f_p = 6
  
 ==== Aufgabe 6 - Bezier-Kurven ==== ==== Aufgabe 6 - Bezier-Kurven ====
Zeile 206: 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 272: 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 286: 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 302: 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}}\\