Data Structure and Algorithms Analysis - Job Interview

Data Structure and Algorithms Analysis - Job Interview

image description

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

Curriculum

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

Course Description

Write code that runs faster, use less memory and prepare for Software Engineer Job Interview

Requirements

  • 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.

Description

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