Algorithms is an educational Java repository containing tested solutions to common computer science and programming problems. It covers binary trees, linked lists, strings, bit operations, mathematics, sequences, arrays, sorting, and miscellaneous interview-style exercises. Many categories contain several related problems so learners can compare recurring techniques and data structures. Some problems include more than one implementation, allowing different approaches to be examined side by side. Every solution is accompanied by tests, and part of the repository was developed using test-driven development. Sorting examples include bubble, selection, insertion, merge, and quick sort. The project is intended for algorithm practice, implementation study, and experimentation rather than as a reusable production library.
Features
- Binary tree and linked-list problems
- String and regular expression exercises
- Bit manipulation and mathematics algorithms
- Array and sequence challenges
- Five common sorting algorithm implementations
- Tested Java solutions with some TDD examples