A comprehensive Java project featuring classic data structures, algorithms, coding challenges, and practical interview patterns. This repository is designed for learning, practicing, and mastering core computer science concepts in Java.
src/main/java/
βββ algorithms/ # Classic sorting and algorithm implementations
βββ datastructures/ # Core data structure implementations
βββ challenges/ # Coding challenge solutions and interview problems
βββ pratical_ds/ # Practical data structure usage examples
βββ basic_tools/ # Utility classes and array tools- Algorithms:
- QuickSort, InsertionSort, BubbleSort, CaesarCipher, and more.
- Data Structures:
- ArrayList, ArrayQueue, SinglyLinkedList, and practical scoreboard examples.
- Coding Challenges:
- Solutions for problems like Combination Sum, Find Peak Element, String to Integer, Merge Two Sorted Lists, Reverse Vowels, and more.
- Utilities:
- Array tools for common operations and demonstrations.
No extra setup required!
Just clone the repository and open it in your favorite Java IDE (e.g., IntelliJ IDEA, Eclipse, VS Code).
To run a specific example:
- Navigate to the desired class with a
mainmethod (e.g.,algorithms/InsertionSort.java). - Run the file directly.
// Example: Running InsertionSort
public static void main(String[] args) {
char[] data = {'B', 'C', 'D', 'A', 'E'};
InsertionSort.insertionSort(data);
System.out.println(Arrays.toString(data)); // Output: [A, B, C, D, E]
}Contributions are welcome!
Feel free to open issues or submit pull requests for new algorithms, data structures, or improvements.
This project is open source and available under the MIT License.
Maintained by Jess Wang and contributors.
Let me know if you want to include more details, such as build instructions, test instructions, or a more detailed list of algorithms and data structures!