Data Structure And Algorithms Analysis

Write code run faster, use less memory and prepare for Software Engineer Interview with real interview questions

Last updated 2022-01-10 | 4.3

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

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

* 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. Learn now how to Write code run faster, use less memory and prepare for Software Engineer Interview with real interview questions. Learn now how to Write code run faster, use less memory and prepare for Software Engineer Interview with real interview questions.

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

Course content

18 sections • 109 lectures

Introduction Preview 02:57

Course content Preview 01:28

What you need to know to start this course ? Preview 00:12

Interview triks Preview 01:33

Install Java JDK Preview 03:30

Install Eclipse Preview 02:19

Exercise files Preview 00:03

Code Complexity|| Big-O, Omega and Theta Preview 13:54

Big-O Examples Preview 13:59

Code complexicity

What is the complexity of this code

Why Data Structure? Preview 07:55

Top Big Tech Interview Questions 1: Math Preview 16:20

One-Dimension Array Preview 13:35

One-Dimension Array implementation in Java Preview 11:25

Top Big Tech Interview Questions 2: Slicing ( Container With Most Water) Preview 21:57

Amazon Interview: Find longest sequence of 1’s with one flip Preview 19:25

Two-Dimension Array Preview 08:22

Two-Dimension Array implementation in Java Preview 05:34

Facebook Interview: Spiral Matrix Preview 15:08

Dynamic Array Preview 08:11

Dynamic Array implementation in Java Preview 12:33

Linked List Preview 09:24

Linked List implementation in Java Preview 12:17

Doubly Linked List implementation in Java Preview 07:59

Amazon Interview: Remove Kth Node From End of List Preview 13:48

HW||Combine two Linked List (Google Interview Question) Preview 02:57

Compare Linked List vs Array Preview 05:45

Hash-Table Preview 14:38

Hash-Table implementation in Java Preview 18:48

Top Tech Interview Question 3 Map Preview 31:06

I miss to add pointer in Q3 here is updated code

int longestSub(String text){

HashMap<Character,Integer> map = new HashMap<Character,Integer>();

int maxLen = Integer.MIN_VALUE;

int beign =0;

for(int i =0;i<text.length();i++){

char c = text.charAt(i);

int lastSeenIndex = map.getOrDefault(c, -1);

beign = Math.max(beign, lastSeenIndex );

int len = i - beign ;

maxLen = Math.max(maxLen, len);

map.put(c, i);

}

return maxLen;

}

Amazon Interview: Find unique number in Array Preview 05:48

Amazon Interview: Key Phrase problem: TF-IDF Preview 15:20

Stack Preview 06:41

Stack implementation in Java Use Array Preview 09:07

Amazon Interview: Recursive Staircase Problem Preview 13:28

Uber Interview question: word distance Preview 17:15

Coding Interview : Parentheses Expression Preview 11:59

Stack implementation in Java Use Dynamic Array Preview 04:47

Stack implementation in Java Use Linked List Preview 04:52

Queue Preview 05:48

In this section you will learn how to work with queue

Queue implementation in Java Use Array Preview 09:05

Microsoft Interview question: Friend Circles Preview 17:15

Queue implementation in Java Use Dynamic Array Preview 03:43

Queue implementation in Java Use Linked List Preview 10:07

HW||Best data structure for Array With Many Zeros (Google Interview Question) Preview 01:53

Priority queue Preview 03:44

Amazon Interview: Kth top movies Preview 12:33

Top Tech Interview Question 4 Trie (Search Engine) Preview 36:47

Recursion Preview 17:27

Phone Interview Question For Software Engineer With Big Tech (Recursive Solution Preview 00:01

Full Video here https://www.youtube.com/watch?v=zfd0f11E94M

Phone Interview Question For Software Engineer With Big Tech Preview 30:50

Data Structure functions in Java Preview 03:06

ArrayList Preview 06:16

LinkedList Preview 02:34

HashMap Preview 04:36

TreeSet HashSet Preview 02:08

Stack Preview 01:32

Queue and Priority Queue Preview 11:02

Sort array of Objects Preview 08:11

Linear Search Preview 04:55

Linear Search implementation in Java Preview 08:30

Binary Search Preview 10:46

Binary Search implementation in Java Preview 06:06

Interpolation Search Preview 05:03

Interpolation Search implementation in Java Preview 02:54

Bubble sort Preview 07:02

Bubble Sort implementation in Java Preview 05:20

Selection Sort Preview 04:39

Select Sort implementation in Java Preview 04:56

Quick Sort Preview 05:43

Quick Sort implementation in Java Preview 07:32

Merge Sort Preview 07:56

Merge Sort implementation in Java Preview 06:40

Heap Sort Preview 09:07

Heap Sort implementation in Java Preview 13:53

Coding Interview: Two words have same characters job interview Preview 10:44

Binary Tree and Binary Search Tree Preview 13:44

Binary Search Tree implementation in Java Preview 12:09

Amazon Interview: Find path between two nodes Preview 24:30

Facebook Interview: Find if two binary search trees are equal Preview 12:00

Google Interview: Determines if two BST are equal ( Another solution) Preview 13:17

Coding Interview: Serialize and Deserialize a Binary Tree Preview 16:01

Google Interview Question: Check if two trees are Mirror Preview 11:31

Amazon Interview Question: Level by Level Printing of Binary Tree Preview 17:12

HW||Find SubTrees (Google Interview Question) Preview 03:34

Problem of the Day Preview 06:15

Red-Black Tree Preview 20:58

Matrix and Adjacency List Preview 15:10

Depth First Search(DFS) Preview 07:26

DFS implementation in Java Preview 19:03

Breadth First Search (BFS) Preview 03:48

BFS implementation in Java Preview 04:46

Google Interview: Word Break problem Preview 18:42

Backtracking Preview 06:48

Preorder and PostOrder Preview 03:51

HW||Visit Cities in best Weather (Google Interview Question) Preview 02:43

Trip Planer Google Interview Preview 19:21

Finding the shortest path ( Amazon + Google) Interview Question Preview 23:41

HW|| Nearest post office HW explain (Microsoft Interview Question) Preview 10:05

Nearest post office

Nearest Neighbor and Shortest path Preview 07:17

Dijkstra's Algorithm Preview 08:15

A* Algorithm Preview 16:38

Dynamic Programming concept Preview 06:01

Edit distance Preview 12:45

HW||Find Word in list of characters Preview 00:52

HW||Knapsack problems Preview 02:11

Knapsack solution in Java Preview 11:02