Data Structure and Algorithms Analysis - Job Interview
3.9 (2,261 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
34,989 students enrolled

Data Structure and Algorithms Analysis - Job Interview

Write code run faster, use less memory and prepare for Software Engineer Interview with real interview questions
3.9 (2,261 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
34,989 students enrolled
Created by Hussein Al Rubaye
Last updated 5/2020
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15 hours on-demand video
  • 1 article
  • 1 downloadable resource
  • 1 coding exercise
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Write code that run faster, and use less memory
  • Learn Data Structure and how to apply these Data Structures on problems in Java
  • Solve coding questions have been seen in Google, Apple, Microsoft, and Amazon job interview.
  • Learn algorithms analysis and implementation.
  • Prepare for job interview
  • Learn problem solving strategies
  • Learn how to find complexity of code and algorithms
Course content
Expand all 99 lectures 15:13:00
+ Introduction and Settings
5 lectures 08:53
Interview triks
01:33
Install Java JDK
03:30
Install Eclipse
02:19
Exercise files
00:03
+ Code Complexity
2 lectures 27:53
Big-O Examples
13:59
What is the complexity of this code
Code complexicity
1 question
+ Data Structure
34 lectures 05:41:09
One-Dimension Array
13:35
One-Dimension Array implementation in Java
11:25
Amazon Interview: Find longest sequence of 1’s with one flip
19:25
Two-Dimension Array
08:22
Two-Dimension Array implementation in Java
05:34
Facebook Interview: Spiral Matrix
15:08
Dynamic Array
08:11
Dynamic Array implementation in Java
12:33
Linked List
09:24
Linked List implementation in Java
12:17
Doubly Linked List implementation in Java
07:59
Amazon Interview: Remove Kth Node From End of List
13:48
HW||Combine two Linked List (Google Interview Question)
02:57
Compare Linked List vs Array
05:45
Hash-Table
14:38
Hash-Table implementation in Java
18:48
Amazon Interview: Find unique number in Array
05:48
Amazon Interview: Key Phrase problem: TF-IDF
15:20
Stack
06:41
Stack implementation in Java Use Array
09:07
Uber Interview question: word distance
17:15
Coding Interview : Parentheses Expression
11:59
Stack implementation in Java Use Dynamic Array
04:47
Stack implementation in Java Use Linked List
04:52

In this section you will learn how to work with queue

Queue
05:48
Queue implementation in Java Use Array
09:05
Microsoft Interview question: Friend Circles
17:15
Queue implementation in Java Use Dynamic Array
03:43
Queue implementation in Java Use Linked List
10:07
Priority queue
03:44
Amazon Interview: Kth top movies
12:33
HW||Best data structure for Array With Many Zeros (Google Interview Question)
01:53
+ Collections In Java
9 lectures 56:52
Data Structure functions in Java
03:06
ArrayList
06:16
LinkedList
02:34
HashMap
04:36
TreeSet HashSet
02:08
Stack
01:32
Queue and Priority Queue
11:02
Sort array of Objects
08:11
Recursion
17:27
+ Searching Algorithms
6 lectures 38:14
Linear Search
04:55
Linear Search implementation in Java
08:30
Binary Search
10:46
Binary Search implementation in Java
06:06
Interpolation Search
05:03
Interpolation Search implementation in Java
02:54
+ Sorting Algorithms
11 lectures 01:23:32
Bubble sort
07:02
Bubble Sort implementation in Java
05:20
Selection Sort
04:39
Select Sort implementation in Java
04:56
Quick Sort
05:43
Quick Sort implementation in Java
07:32
Merge Sort
07:56
Merge Sort implementation in Java
06:40
Heap Sort
09:07
Heap Sort implementation in Java
13:53
Coding Interview: Two words have same characters job interview
10:44
+ Tree Theory
11 lectures 02:31:11
Binary Tree and Binary Search Tree
13:44
Binary Search Tree implementation in Java
12:09
Google Interview: Determines if two BST are equal ( Another solution)
13:17
Coding Interview: Serialize and Deserialize a Binary Tree
16:01
Google Interview Question: Check if two trees are Mirror
11:31
Amazon Interview Question: Level by Level Printing of Binary Tree
17:12
HW||Find SubTrees (Google Interview Question)
03:34
Problem of the Day
06:15
Red-Black Tree
20:58
+ Graph Theory
12 lectures 02:15:24
Matrix and Adjacency List
15:10
Depth First Search(DFS)
07:26
DFS implementation in Java
19:03
Breadth First Search (BFS)
03:48
BFS implementation in Java
04:46
Google Interview: Word Break problem
18:42
Backtracking
06:48
Preorder and PostOrder
03:51
Trip Planer Google Interview
19:21
HW|| Nearest post office HW explain (Microsoft Interview Question)
10:05
Nearest post office
1 question
+ Short Path in Graph Theory
3 lectures 32:10
Nearest Neighbor and Shortest path
07:17
Dijkstra's Algorithm
08:15
A* Algorithm
16:38
+ Dynamic Programming
5 lectures 32:51
Dynamic Programming concept
06:01
Edit distance
12:45
HW||Find Word in list of characters
00:52
HW||Knapsack problems
02:11
Knapsack solution in Java
11:02
Requirements
  • No previous programming experience is required! I will give you 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 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 run faster and use low memory. You Also will learn  how to analysis problems using Dynamic programming. 

We will discus code complexity in Different algorithms like Sorting algorithms ( Bubble, Merge, Heap, and quick sort) , 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:
  • Studends who are interested in writing code that run faster and use less memory
  • People who want to apply for job as software engineer or software developer