https://github.com/trainingbypackt/data-structures-and-algorithms-in-java
Sharpen your problem solving skills by learning core computer science concepts in a pain-free manner
https://github.com/trainingbypackt/data-structures-and-algorithms-in-java
java
Last synced: 6 months ago
JSON representation
Sharpen your problem solving skills by learning core computer science concepts in a pain-free manner
- Host: GitHub
- URL: https://github.com/trainingbypackt/data-structures-and-algorithms-in-java
- Owner: TrainingByPackt
- License: mit
- Created: 2018-02-16T10:27:53.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-07-04T21:45:31.000Z (over 2 years ago)
- Last Synced: 2025-04-10T11:35:06.517Z (9 months ago)
- Topics: java
- Language: Java
- Homepage:
- Size: 168 KB
- Stars: 72
- Watchers: 10
- Forks: 85
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/TrainingByPackt/Data-Structures-and-Algorithms-in-Java/issues)
[](https://github.com/TrainingByPackt/Data-Structures-and-Algorithms-in-Java/network)
[](https://github.com/TrainingByPackt/Data-Structures-and-Algorithms-in-Java/stargazers)
[](https://github.com/TrainingByPackt/Data-Structures-and-Algorithms-in-Java/pulls)
# Beginning Java Data Structures and Algorithms
Algorithms and data structures are crucial for application performance. This course teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary tree, hash table, and graphs. The course progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the course, you will know how to correctly implement common algorithms and data structures within your applications.
## What you will learn
* Understand some of the fundamental concepts behind key algorithms
* Express space and time complexities using Big O notation.
* Correctly implement classic sorting algorithms like merge and quicksort, using native Java data structures
* Correctly implement basic and complex data structures (like hash tables and binary trees)
* Learn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programming
* Apply powerful string matching techniques and optimize your application logic
* Master graph representations and learn about different graph algorithms, such as cycle detection, traversal, and shortest path
### Hardware requirements
For an optimal student experience, we recommend the following hardware configuration:
* **Processor**: 2.6 GHz or higher, preferably multi-core
* **Memory**: 4GB RAM
* **Hard disk**: 10GB or more
* A projector
* An Internet connection
### Software requirements
You’ll also need the following software installed in advance:
* Operating System: Windows (8 or higher).
* Command Prompt or PowerShell on Windows
* Terminal on macOS
* Java SE Development Kit, JDK 8 latest