Dokument exercises
This commit is contained in:
parent
b4071fac06
commit
136b8854ad
@ -1,6 +1,7 @@
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class HandleArray {
|
public class HandleArray {
|
||||||
|
// BITTE Main.java UND README.md MIT BEACHTEN !!!!!
|
||||||
public void printArray(int[] arrayInput) {
|
public void printArray(int[] arrayInput) {
|
||||||
System.out.print(arrayInput[0] + " ");
|
System.out.print(arrayInput[0] + " ");
|
||||||
if (arrayInput.length > 1) {
|
if (arrayInput.length > 1) {
|
||||||
@ -19,7 +20,12 @@ public class HandleArray {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sumRec() {
|
public int sumRec(int[] arrayInput) {
|
||||||
|
// WIRD AUSGEGEBEN IN DER Main.java
|
||||||
|
if(arrayInput.length > 0) {
|
||||||
|
return arrayInput[0] + sumRec(Arrays.copyOfRange(arrayInput, 1, arrayInput.length));
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
public class IntToBinary {
|
public class IntToBinary {
|
||||||
// !!!!! DER REST DER AUFGABE IST IN DER README.md BEANTWORTED !!!!!
|
// !!!!! DER REST DER AUFGABE IST IN DER README.md BEANTWORTED !!!!!
|
||||||
|
// BITTE Main.java MIT BEACHTEN
|
||||||
|
// BITTE Main.java MIT BEACHTEN !!!!!!!!!!
|
||||||
|
|
||||||
public int binary(int n) {
|
public int binary(int n) {
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
|
|||||||
@ -19,5 +19,9 @@ public class Main {
|
|||||||
// exercise 3
|
// exercise 3
|
||||||
System.out.println("Aufgabe 3");
|
System.out.println("Aufgabe 3");
|
||||||
handleArray.printArrayRev(array);
|
handleArray.printArrayRev(array);
|
||||||
|
|
||||||
|
// exercise 4
|
||||||
|
System.out.println("Aufgabe 4");
|
||||||
|
System.out.println(handleArray.sumRec(array));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
67
README.md
67
README.md
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
# Aufgabe 1
|
# Aufgabe 1
|
||||||
## Dokumentieren Sie die Ausführung des Aufrufs binary(6), indem Sie die Auswertung aller binary-Aufrufe als eigerückte Nebenrechnungen notieren.
|
## Dokumentieren Sie die Ausführung des Aufrufs binary(6), indem Sie die Auswertung aller binary-Aufrufe als eigerückte Nebenrechnungen notieren.
|
||||||
|
```
|
||||||
binary(6)
|
binary(6)
|
||||||
// else
|
// else
|
||||||
binary(6 / 2) + (6 % 2) // wird zu binary(3) + 0
|
binary(6 / 2) + (6 % 2) // wird zu binary(3) + 0
|
||||||
@ -16,10 +17,76 @@ binary(6)
|
|||||||
return 11
|
return 11
|
||||||
|
|
||||||
-> binary(6) = toInt("11" + "0")
|
-> binary(6) = toInt("11" + "0")
|
||||||
|
|
||||||
return 110
|
return 110
|
||||||
|
```
|
||||||
|
|
||||||
## Wie viele binary-Aufrufe werden bei der Auswertung von binary(n) in Abhängigkeit von n ausgeführt?
|
## Wie viele binary-Aufrufe werden bei der Auswertung von binary(n) in Abhängigkeit von n ausgeführt?
|
||||||
Bei jedem Aufruf -> n/2 bis n <= 1
|
Bei jedem Aufruf -> n/2 bis n <= 1
|
||||||
|
|
||||||
tiefe = anzahl der teilungen / 2
|
tiefe = anzahl der teilungen / 2
|
||||||
---> O(n) = log2(n) + 1
|
---> O(n) = log2(n) + 1
|
||||||
|
|
||||||
+ 1 durch den letzten aufruf (Rekursions Anker)
|
+ 1 durch den letzten aufruf (Rekursions Anker)
|
||||||
|
|
||||||
|
|
||||||
|
# Aufgabe 2
|
||||||
|
```
|
||||||
|
printArray([15, 3, 22, 43])
|
||||||
|
//gibt 15 aus
|
||||||
|
printArray([3, 22, 43])
|
||||||
|
// in print Array
|
||||||
|
// gibt 3 aus
|
||||||
|
printArray([22, 43])
|
||||||
|
// gibt 22 aus
|
||||||
|
printArray([43])
|
||||||
|
// gibt 43 aus
|
||||||
|
// Abbruch (length == 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
Rekursions Anker -> array.length > 1
|
||||||
|
|
||||||
|
Rekursiver Aufruf -> printArray(Arrays.copyOfRange(arrayInput, 1, arrayInput.length))
|
||||||
|
|
||||||
|
|
||||||
|
# Aufgabe 4
|
||||||
|
```
|
||||||
|
printArrayRev([15, 3, 22, 43])
|
||||||
|
//gibt 43 aus
|
||||||
|
printArrayRev([15, 3, 22])
|
||||||
|
//gibt 22 aus
|
||||||
|
printArrayRev([15, 3])
|
||||||
|
//gibt 3 aus
|
||||||
|
printArrayRev([15])
|
||||||
|
//gibt 15 aus
|
||||||
|
---> Abbruch (length == 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Rekursions Anker:
|
||||||
|
|
||||||
|
arrayInput.length == 1
|
||||||
|
|
||||||
|
Rekursiver Aufruf:
|
||||||
|
|
||||||
|
printArrayRev(Arrays.copyOfRange(arrayInput, 0, arrayInput.length - 1))
|
||||||
|
|
||||||
|
|
||||||
|
# Aufgabe 4
|
||||||
|
|
||||||
|
```
|
||||||
|
sumRec([15, 3, 22, 43])
|
||||||
|
= 15 + sumRec([3, 22, 43])
|
||||||
|
= 15 + (3 + sumRec([22, 43]))
|
||||||
|
= 15 + (3 + (22 + sumRec([43])))
|
||||||
|
= 15 + (3 + (22 + (43 + sumRec([])))) // ABBRUCH return 0
|
||||||
|
= 15 + (3 + (22 + (43 + 0)))
|
||||||
|
```
|
||||||
|
|
||||||
|
Rekursions Anker:
|
||||||
|
|
||||||
|
arrayInput.length == 0
|
||||||
|
|
||||||
|
Rekursiver Aufruf:
|
||||||
|
|
||||||
|
sumRec(Arrays.copyOfRange(arrayInput, 1, arrayInput.length))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user