I am Ahmed Ashour and this repo is for learning deeply about data structures and algorithms for beginners in Java.
- 1.Big O Notation
- 2.Arrays
- 3.ArrayList
- 4.Linked List
- 5.Stack
- 6.Queue
- 7.Recursion
- 8.Tree / Binary Tree
- 9.Binary Search Tree
- 10.AVL Tree
- 11.Binary Heap
- 12.Trie
- 13.Hashing
- 14.Sort Algorithms
- 15.Searching Algorithms
- 16.Graph Algorithms
- 17.Graph Traversal
- 18.Topological Sort
- 19.Single Source Shortest Path Problem
- 20.Dijkstra's Algorithm
- 21.Bellman Ford Algorithm
- 22.All Pairs Shortest Path Problem
- 23.Floyd Warshall
- 24.Minimum Spanning Tree
- 25.Kruskal's and Prim's Algorithms
- 26.Cracking Graph and Tree Interview Questions
- 27.Greedy Algorithms
- 28.Divide and Conquer Algorithms
- 29.Dynamic Programming
This course is designed to help you to achieve your career goals. Whether you are looking to get more into Data Structures and Algorithms, increase your learning potential, or just want a job with more freedom, this is the right course for you!
In this Repo Course, you can begin with the education links below and browse various courses before going into the practical implementation that I attached.
First, you need to know about basic programming language principles like loops, functions,...etc. Second, studying OOP very well.
- Note that any programming language doesn't matter if you know the basic prerequisites above with C++ for example go to the coding tutorial.
- Learn basic algorithmic techniques such as greedy algorithms, binary search, sorting, and dynamic programming.
- Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications
- Learn many of the algorithms commonly used to sort data, so your applications will perform efficiently when sorting large datasets
- Learn how to apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces.
We continue our commitment to improving and expanding the capabilities of makeread. me to provide an efficient and seamless readme generation experience to our users.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement" Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you have any questions or suggestions, feel free to reach out to us:
-
Raise an issue on the repository: GitHub Repository
-
Connect with us on LinkedIn: @Eng.AhmedAshour
The content is updated regularly and is now being worked on daily, so do not worry if the rest of the course content will be delayed 🚀