Complete Data Structures and Algorithms Software Interviews

Learn data structures and algorithms with Python. Solve technical questions by Google, Amazon, Meta, Netflix and more!
Complete Data Structures and Algorithms Software Interviews
File Size :
6.03 GB
Total length :
16h 4m



Codestars • over 2 million students worldwide!


Last update




Complete Data Structures and Algorithms Software Interviews

What you’ll learn

Data Structures
Technical Interview Question Solutions

Complete Data Structures and Algorithms Software Interviews


Knowledge in any programming language


Welcome to the Complete Data Structure & Algorithms: Technical Interviews courseData structures and algorithms is not just a subject which every programmer should master but also a major topic in technical interviews by giant technology companies such as Google, Amazon, Microsoft, Netflix, Uber, Tesla etc.Not only we will learn about the theory and practical implementations of the data structures & algorithms but also we will solve many technical interview questions and practice what we learn in each section.During the course we will use Python programming language for all implementations and question solutions. However if you are sufficient in any other programming language before, you would be fine. We have a quick Python Refresher section where you can learn about the fundamentals if you want to adapt. Alternatively you can learn all the algorithms and solutions and implement them in your own preferred language as well.This course is brought to you by Atil Samancioglu, teaching more than 300.000 students worldwide on programming and cyber security along with the Codestars, serving more than 1 million students! Atil also teaches mobile application development in Bogazici University and he is founder of his own training startup Academy Club. Some of the topics that will be covered during the course:Technical Interview QuestionsBig O NotationStackQueueDequeArraysLinked ListHeapGraphTreeHashTableAfter you complete the course you will be able to solve technical interview questions, improve your programming skills and implement ideas in real life problems. You will be given many opportunities to solve questions on your own during the training and it will be vital for you to follow these instructions.If you are ready, let’s get started!


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Course Outline

Section 2: Big O Notation

Lecture 3 Big O Introduction

Lecture 4 What is Big O?

Lecture 5 Big O Code Examples

Lecture 6 Space Complexity

Lecture 7 Big O GitHub Link

Section 3: Lists & Arrays

Lecture 8 Lists Introduction

Lecture 9 Arrays 101

Lecture 10 Lists

Lecture 11 Arrays & Lists GitHub Link

Lecture 12 Contains Duplicate

Lecture 13 Contains Duplicate Solution

Lecture 14 Contains Duplicate GitHub Link

Lecture 15 Find Single

Lecture 16 Single Number Solution

Lecture 17 Find Single GitHub Link

Lecture 18 Majority Element

Lecture 19 Boyer Moore

Lecture 20 Majority Element GitHub Link

Section 4: Stack, Queue & Deque

Lecture 21 Stack, Queue, Deque Introduction

Lecture 22 What is Stack, Queue, Deque?

Lecture 23 LifoQueue

Lecture 24 Stack Implementation

Lecture 25 Queue Implementation

Lecture 26 Deque Implementation

Lecture 27 Stack, Queue, Deque GitHub Link

Lecture 28 Implement Stack Using Queue

Lecture 29 Writing the Stack

Lecture 30 Implement Stack GitHub Link

Lecture 31 Baseball Game

Lecture 32 Baseball Solution

Lecture 33 Baseball GitHub Link

Lecture 34 Daily Temperatures

Lecture 35 Daily Temperatures Solution

Lecture 36 Daily Temperatures GitHub Link

Section 5: Linked List

Lecture 37 Linked List Introduction

Lecture 38 What is Linked List?

Lecture 39 Doubly Linked List

Lecture 40 Linked List O Notation

Lecture 41 Linked List GitHub Link

Lecture 42 Remove nth Node

Lecture 43 Remove nth Node Solution

Lecture 44 Remove nth Node GitHub Link

Lecture 45 Linked List Intersection

Lecture 46 Intersection Solution

Lecture 47 Intersection GitHub Link

Lecture 48 Duplicate

Lecture 49 Floyd

Lecture 50 Duplicate GitHub Link

Section 6: Tree

Lecture 51 Tree Introduction

Lecture 52 What is Tree?

Lecture 53 Tree Big O Notation

Lecture 54 Insert Method

Lecture 55 Finishing BST

Lecture 56 Tree GitHub Link

Lecture 57 Recursion

Lecture 58 Recursion GitHub Link

Lecture 59 Reverse String

Lecture 60 Reverse String Recursion

Lecture 61 Reverse String GitHub Link

Lecture 62 Fibonacci

Lecture 63 Recursion vs Iteration

Lecture 64 Memoization

Lecture 65 Fibonacci GitHub Link

Lecture 66 Invert Binary Tree

Lecture 67 Invert Tree Solution

Lecture 68 Invert Binary GitHub Link

Section 7: Tree Traversal

Lecture 69 Tree Traversal Introduction

Lecture 70 BFS vs DFS

Lecture 71 BFS Implementation

Lecture 72 DFS Implementation

Lecture 73 DFS Other Methods

Lecture 74 Tree Traversal GitHub Link

Lecture 75 BST to Tree

Lecture 76 DFS Solution

Lecture 77 Greater BST GitHub Link

Lecture 78 Binary Tree Max Path Sum

Lecture 79 DFS Returning Solution

Lecture 80 Binary Tree Max GitHub Link

Section 8: Graph

Lecture 81 Graph Introduction

Lecture 82 What is Graph?

Lecture 83 Graph Implementation

Lecture 84 Graph GitHub Link

Lecture 85 Reorder Routes

Lecture 86 DFS Solution

Lecture 87 Reorder Routes GitHub Link

Lecture 88 Number of Islands

Lecture 89 BFS Solution

Lecture 90 Number of Islands GitHub Link

Lecture 91 Redundant Connection

Lecture 92 Union Find

Lecture 93 Redundant Connection GitHub Link

Section 9: Searching & Hash Tables

Lecture 94 Hash Tables Introduction

Lecture 95 Sequential vs Binary

Lecture 96 Search Implementation

Lecture 97 Search Algorithms GitHub Link

Lecture 98 What is Hash Table?

Lecture 99 Hash Function

Lecture 100 Hash Table Implementation

Lecture 101 HashTable GitHub Link

Lecture 102 Two Sum

Lecture 103 HashMap Solution

Lecture 104 Two Sum GitHub Link

Lecture 105 Encode Decode

Lecture 106 Tiny Url Solution

Lecture 107 Tiny Url GitHub Link

Lecture 108 Brick Wall

Lecture 109 Brick Wall Solution

Lecture 110 Brick Wall GitHub Link

Section 10: Sorting & Heap

Lecture 111 Heap Introduction

Lecture 112 Sorting Algorithms

Lecture 113 Bubble Sort

Lecture 114 Selection Sort

Lecture 115 Insertion Sort

Lecture 116 Merge Sort

Lecture 117 Merge Sort Implementation

Lecture 118 Quick Sort

Lecture 119 Quick Sort Implementation

Lecture 120 What is Heap?

Lecture 121 Heap Sort

Lecture 122 Sorting Algorithms GitHub Link

Lecture 123 K Closest Points

Lecture 124 Heap Solution

Lecture 125 K Closest GitHub Link

Lecture 126 Data Stream

Lecture 127 Max Heap Solution

Lecture 128 Data Stream GitHub Link

Section 11: Python Refresher

Lecture 129 Python Refresher Introduction

Lecture 130 Anaconda Installation (Windows)

Lecture 131 Anaconda Installation (MAC)

Lecture 132 Python Variables

Lecture 133 String Details

Lecture 134 Collections

Lecture 135 Dictionary

Lecture 136 Set and Tuple

Lecture 137 Conversions

Lecture 138 Error Handling

Lecture 139 Conditions and Loops

Lecture 140 Useful Functions

Lecture 141 Functions

Lecture 142 Classes

Lecture 143 Scope

Lecture 144 Python Refresher GitHub Link

Section 12: Closing

Lecture 145 Closing

Programmers trying to land a job in big technology companies,Programmers looking forward to improve their coding skills,Programmers looking to learn about data structures & algorithms

Course Information:

Udemy | English | 16h 4m | 6.03 GB
Created by: Codestars • over 2 million students worldwide!

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top