2021-08-06 22:45:26 +02:00
|
|
|
|
### Aufgabe/Task: Nr. 08
|
2021-08-06 21:40:32 +02:00
|
|
|
|
|
|
|
|
|
Thema: Runtime Behaviour
|
|
|
|
|
|
|
|
|
|
Geschätzter Zeitbedarf: 120-240 min
|
|
|
|
|
|
2021-08-06 22:45:26 +02:00
|
|
|
|
#### Aufgabenbeschreibung:
|
2021-08-06 21:40:32 +02:00
|
|
|
|
|
|
|
|
|
**Teil 1**
|
|
|
|
|
|
|
|
|
|
Bearbeiten Sie diese Übungsanleitung(en):
|
|
|
|
|
|
2021-08-06 22:45:26 +02:00
|
|
|
|
- [script4_firstStepsPerformance.pdf](./script4_firstStepsPerformance.pdf)
|
|
|
|
|
- [script4_ErsteSchrittePerformance.pdf](./script4_ErsteSchrittePerformance.pdf)
|
2021-08-06 21:40:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Verwenden Sie diesen Code (stopwatch) um die Schnelligkeit(en) zu messen.
|
2021-08-06 22:55:15 +02:00
|
|
|
|
```java
|
2021-08-06 22:45:26 +02:00
|
|
|
|
/**
|
|
|
|
|
* Used from the book by R. Sedgwick.
|
|
|
|
|
* @author littleJ
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
public class Stopwatch {
|
|
|
|
|
|
|
|
|
|
private final long start;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create a stopwatch object.
|
|
|
|
|
*/
|
|
|
|
|
public Stopwatch() {
|
|
|
|
|
start = System.currentTimeMillis();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return elapsed time (in seconds) since this object was created.
|
|
|
|
|
*/
|
|
|
|
|
public double elapsedTime() {
|
|
|
|
|
long now = System.currentTimeMillis();
|
|
|
|
|
return (now - start) / 1000.0;
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-08-06 22:55:15 +02:00
|
|
|
|
```
|
2021-08-06 21:40:32 +02:00
|
|
|
|
|
|
|
|
|
**Teil 2**
|
|
|
|
|
|
|
|
|
|
Finden Sie in den ‘normalen’ Java-Board-Mitteln Datenstrukturen, mit denen Sie
|
|
|
|
|
sammeln und sortieren lassen können (z.B. collections, arrays, u.a.) und machen
|
|
|
|
|
Sie (statistische) Vergleiche mit dem früher implementierten BubbleSort.
|
|
|
|
|
Verwenden Sie dabei Ihren Zahlengenerator aus der früheren Übung und nehmen Sie
|
|
|
|
|
genügend viele Zahlen, messen Sie die Schnelligkeiten und werten Sie sie mit
|
|
|
|
|
Excel aus.
|
|
|
|
|
|
|
|
|
|
<https://www.geeksforgeeks.org/arrays-sort-in-java-with-examples/>
|
|
|
|
|
|
|
|
|
|
**Teil 3**
|
|
|
|
|
|
|
|
|
|
Finden Sie weitere Sort-Algorithmen im Internet und implementieren Sie einen,
|
|
|
|
|
den Sie noch nicht kennen davon und vergleichen Sie ebenfalls die Leistung
|
|
|
|
|
(Performanz) dieses Algorithmus. (z.B. QuickSort o. a.).
|
|
|
|
|
|
2021-12-16 17:43:01 +01:00
|
|
|
|
<https://medium.com/@kamyarg/comparison-sorting-algorithms-and-mystery-of-nlogn-complexity-d7e80c34876>
|
|
|
|
|
|
2021-08-06 21:40:32 +02:00
|
|
|
|
**Zeigen Sie die Resultate der Lehrperson**
|