Data Structure and Algorithms Analysis - Job Interview
What you will learn
- Write code that runs faster, and use less memory
Prepare for a job interview
Learn Data Structure and how to apply these Data Structures on problems in Java
Learn algorithms analysis and implementation.
Learn problem-solving strategies
Learn how to find the complexity of code and algorithms
Section 1: Introduction and Settings
Section 2: Code Complexity
Section 3: Data Structure
Section 4: Collections In Java
Section 5: Searching Algorithms
Section 6: Sorting Algorithms
Section 7: Tree Theory
Section 8: Graph Theory
Section 9: Short Path in Graph Theory
Section 10: Dynamic Programming
Section 11: NP Complete problems
Write code that runs faster, use less memory and prepare for Software Engineer Job Interview
- No previous programming experience is required! I will give you a free Java course if you do not have programming experiences with any programming languages
- You will need a computer running Microsoft Windows, or Linux, or a Mac running OS X.
This course prepared depending on my real Software Engineer job interviews experiences with Google, Microsoft, Amazon, and Snapchat.
In this course, you will learn how to Analysis algorithms like Sorting, Searching, and Graph Algorithms. And how to reduce the code complexity from one Big-O level to another level. Furthermore, you will learn a different type of Data Structure for your code. Also, you will learn how to find Big-O for every data structure, and how to apply correct Data Structure to your problem in Java. By the end, you will be able to write code that runs faster and use low memory. Also will learn how to analyze problems using Dynamic programming.
We will discuss code complexity in Different algorithms like Sorting algorithms ( Bubble, Merge, Heap, and quicksort) , searching algorithms ( Binary search, linear search, and Interpolation), Graph algorithms( Binary tree, DFS, BFS, Nearest Neighbor and Shortest path, Dijkstra's Algorithm, and A* Algorithm). and Data Structure like Dynamic Array, Linked List, Stack, Queue, and Hash-Table
Who this course is for:
- Students who are interested in writing code that run faster and use less memory
- People who want to apply for a job as a software engineer or software developer