Algorithmus effizienter machen

Hallo,

ich hätte zwei Frage bezüglich eines Algorithmus.
Die erste Frage wäre, ob man diesen Algorithmus so verändern könnte, sodass er schneller läuft.
Und gibt es Sonderfälle, wodurch der Algorithmus nicht funktionieren würde?
Der Algorithmus sieht wie folgt aus:

Code:
int gibZufallszahl(int max) {
  // ermittle eine Zufallszahl aus [0,max]
  return (int)(Math.random() * max);
}

int berechneMittelwert(int x, int y) {
  int mittelwert = 0;
  while(Math.abs(mittelwert - x) != Math.abs(mittelwert - y)) {
    mittelwert = gibZufallszahl(Math.max(x,y));
  }
  return mittelwert;
}
Ich bedanke mich schon mal im Voraus!
 
Java:
int berechneMittelwert(int x, int y) {
  return (x + y) / 2;
}
EDIT:
Java:
int berechneMittelwert(int x, int y) {
  if (((x + y) % 2) != 0 || (x + y) / 2 < 0)
    while (true);
  return (x + y) / 2;
}
 
Zuletzt bearbeitet:
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben