Data Structure and Algorithms Analysis – Job Interview

Write code that run faster, use less memory and prepare for Software Engineer Job Interview
Best Seller

4.1 (1,597 ratings)

Instead of using a simple lifetime average, Udemy calculates a course’s star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
25,009 students enrolled
Last updated 6/2018
English
English [Auto-generated]

Preview This Course

Data Structure and Algorithms Analysis - Job Interview

What Will I Learn?
  • Write code that run faster, and use less memory
  • Prepare for 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 complexity of code and algorithms
Curriculum For This Course
80 Lectures

09:40:07

Introduction and Settings

11:49
+

Code Complexity

2 Lectures 20:13
+

Data Structure

24 Lectures 03:11:03
One-Dimension Array
09:04
One-Dimension Array implementation in Java
11:25
Dynamic Array
05:35
Dynamic Array implementation in Java
12:33
Linked List
12:53
Linked List implementation in Java
12:17
Doubly Linked List implementation in Java
07:59
Compare Linked List vs Array
04:50
HW||Combine two Linked List
02:57
Hash-Table
09:44
Hash-Table implementation in Java
18:48
Stack
07:03
Stack implementation in Java Use Array
09:07
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:28
Queue implementation in Java Use Array
09:05
Queue implementation in Java Use Dynamic Array
03:43
Queue implementation in Java Use Linked List
10:07
Priority queue
03:44
HW||Best data structure for Array With Many Zeros
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

10 Lectures 01:12:48
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
+

Tree Theory

5 Lectures 56:40
Binary Tree and Binary Search Tree
13:44
Binary Search Tree implementation in Java
12:09
Problem of the Day
06:15
Red-Black Tree
20:58
HW||Find SubTrees
03:34
+

Graph Theory

9 Lectures 01:13:40
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
Backtracking
06:48
Preorder and PostOrder
03:51
HW||Visit Cities in best Weather
02:43
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

4 Lectures 21:49
Dynamic Programming concept
06:01
Edit distance
12:45
HW||Find Word in list of characters
00:52
HW||Knapsack problems
02:11
+

NP Complete problems

1 Lecture 04:50
NP Complete problems
04:50
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 is the target audience?
  • 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