Today you will learn:
HashMap for performance improvementsBy the end, you will be able to write efficient algorithms and analyze their performance in Java.
Use Java’s built-in Arrays.sort() for optimized sorting.
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]
Binary search efficiently finds an element in a sorted array.
int index = Arrays.binarySearch(arr, 3);
System.out.println("Index of 3: " + index);
Explanation:
Big-O notation describes time and space complexity.
HashMap lookups over linear searches for key-value data
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); // Built-in optimized sort
System.out.println(Arrays.toString(arr));
Implement binary search on a sorted array and analyze time complexity.
Steps:
Example:
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 of 3: " + index); // 2
}
}