Java-language-question

Level: Advanced

1. Write a Java program to implement a red-black tree.
2. Write a Java program to implement an AVL tree.
3. Write a Java program to implement a B-tree.
4. Write a Java program to implement a segment tree for range sum queries.
5. Write a Java program to implement a Fenwick tree (Binary Indexed Tree).
6. Write a Java program to implement a suffix array.
7. Write a Java program to implement a suffix tree.
8. Write a Java program to find the longest increasing subsequence in an array.
9. Write a Java program to solve the maximum flow problem using the Ford-Fulkerson algorithm.
10. Write a Java program to solve the traveling salesman problem using dynamic programming.
11. Write a Java program to solve the N-Queens problem using backtracking.
12. Write a Java program to implement the A* search algorithm.
13. Write a Java program to implement the Bellman-Ford algorithm for shortest paths.
14. Write a Java program to implement the Floyd-Warshall algorithm for all-pairs shortest paths.
15. Write a Java program to implement the Viterbi algorithm for Hidden Markov Models.
16. Write a Java program to implement the KMP (Knuth-Morris-Pratt) pattern matching algorithm.
17. Write a Java program to implement the Boyer-Moore pattern matching algorithm.
18. Write a Java program to find strongly connected components in a graph using Kosaraju’s algorithm.
19. Write a Java program to find articulation points (or cut vertices) in a graph.
20. Write a Java program to find bridges in a graph.
21. Write a Java program to implement a bloom filter.
22. Write a Java program to implement a skip list.
23. Write a Java program to implement a topological sort of a directed acyclic graph (DAG).
24. Write a Java program to solve the 0/1 knapsack problem using branch and bound.
25. Write a Java program to solve the job scheduling problem with deadlines.
26. Write a Java program to solve the word break problem using dynamic programming.
27. Write a Java program to solve the wildcard matching problem using dynamic programming.
28. Write a Java program to implement a least recently used (LRU) cache using a doubly linked list and a hash map.
29. Write a Java program to implement a self-balancing binary search tree (Treap).
30. Write a Java program to perform matrix multiplication using Strassen's algorithm.
31. Write a Java program to solve the convex hull problem using Graham's scan algorithm.
32. Write a Java program to find the shortest common supersequence of two strings.
33. Write a Java program to implement a k-d tree (k-dimensional tree).
34. Write a Java program to implement a randomized quicksort algorithm.
35. Write a Java program to find the kth smallest element in a matrix sorted row-wise and column-wise.
36. Write a Java program to solve the subset sum problem using backtracking.
37. Write a Java program to solve the painter's partition problem using binary search and dynamic programming.
38. Write a Java program to find the maximum size rectangle of all 1's in a binary matrix.
39. Write a Java program to find the median of two sorted arrays.
40. Write a Java program to solve the word ladder problem using BFS.
41. Write a Java program to implement a trie with insert, search, and delete operations.
42. Write a Java program to implement a persistent segment tree.
43. Write a Java program to find the longest palindromic subsequence in a string.
44. Write a Java program to find the maximum sum of a subarray with at most k elements.
45. Write a Java program to implement a concurrent hash map.
46. Write a Java program to solve the problem of finding the smallest range that includes at least one element from each of the given k lists.
47. Write a Java program to implement the shortest path faster algorithm (SPFA).
48. Write a Java program to solve the circular buffer problem.
49. Write a Java program to implement an LFU (Least Frequently Used) cache.
50. Write a Java program to find the largest rectangular area possible in a histogram.

Beginner Level: View

Advanced Level: View