Heute wirst du lernen:
HashMap zur Performance-VerbesserungAm Ende wirst du in der Lage sein, effiziente Algorithmen zu schreiben und ihre Performance in Java zu analysieren.
Verwende die eingebaute Arrays.sort() Methode für optimiertes Sortieren.
import java.util.Arrays;
int[] arr = {5, 2, 8, 1, 3};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [1, 2, 3, 5, 8]
Die binäre Suche findet effizient ein Element in einem sortierten Array.
int index = Arrays.binarySearch(arr, 3);
System.out.println("Index von 3: " + index);
Erklärung:
Die Big-O-Notation beschreibt Zeit- und Speicherkomplexität.
HashMap-Zugriffe statt linearer Suchen bei Schlüssel-Wert-Daten
import java.util.*;
Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
System.out.println(map.get("Bob")); // 30
int[] arr = {5, 2, 8, 1, 3};
Arrays.sort(arr); // Eingebaute optimierte Sortierung
System.out.println(Arrays.toString(arr));
Implementiere eine binäre Suche in einem sortierten Array und analysiere die Zeitkomplexität.
Schritte:
Beispiel:
import java.util.Arrays;
public class BinarySearchExample {
public static int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length - 1;
while(left <= right) {
int mid = left + (right - left) / 2;
if(arr[mid] == target) return mid;
else if(arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
public static void main(String[] args) {
int[] arr = {5, 2, 8, 1, 3};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int index = binarySearch(arr, 3);
System.out.println("Index von 3: " + index); // 2
}
}