Data Structures And Algorithms In Python

Posted By: ELK1nG

Data Structures And Algorithms In Python
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.83 GB | Duration: 11h 39m

Visualize the inner workings of data structures and algorithms, line by line, through comprehensive animations

What you'll learn

Understand how computers store and work with data

Analyze the space and memory utilization of any algorithm using the Big O Notation

Dive deep into the mechanisms of function execution and demystify the concept of Recursion

Implement from scratch the most common 9 Data Structures

Understand how the best known 8 sorting algorithms work

Learn the searching / traversing algorithms for trees and graphs

Improve your problem solving skills

Learn the behind the scenes of the basic data structures (arrays and hash maps)

Understand common programming patterns

Learn everything you need to know for the technical interview

Requirements

Basic coding concepts in any programming language

No previous data structures and algorithms knowledge needed

A computer to practice on (Windows, Mac or Linux)

Description

    Building reliable and highly performant software requires knowledge that goes beyond a certain programming language or framework. It requires a solid understanding of how data is organized in memory, how it can be manipulated, sorted or searched into. There’s a reason why all the big tech companies such as Google, Amazon or Netflix focus their technical interviews on those topics. Whether you do mobile apps, websites, games, machine learning or any other work that involves coding, you need a good grasp of Data Structures and Algorithms.    Many self taught developers and aspiring engineers often feel they lack the knowledge when having to decide on the right data structure or the right approach for solving a problem. If you ever felt that way, this material is the right choice for you. This course packs months of Computer Science subject matter to get you on the same level of proficiency as someone with a Computer Science degree.What sets us apart ?    Every video begins with an in depth analysis of the topic at hand. At this stage we won’t write any code yet, but rather learn how to approach the problem, think of ways we could solve it and build a mental model of the solution.    We then go on to code the algorithm step by step. But we don’t stop there. We take one or more examples and walk through the code line by line. And we mean that literally. You will see how the code runs from top to bottom and how data flows and changes during execution. We find this method the absolute best way to really understand the inner workings of an algorithm.    We’ll also analyze the time performance and space utilization of every algorithm and method we write using the Big O Notation. We’ll talk about the strengths and weaknesses of each data structure and discuss their real world usage. Apart from all of that, you’ll also learn things like recursion, how computers work under the hood, problem solving techniques, common programming patterns and much more.What does this course cover ?How computers work under the hoodWhat a data structure isWhat an algorithm isProblem solving techniquesBig O Notation - how to analyze the time performance and space utilization of algorithms. This is done for every single function/algorithm we write.Gain a deeper understanding of how code worksRecursionData Structures:ArraysHash TablesSingly Linked ListsDoubly Linked ListsStacksQueuesBinary Search TreesTree TraversalHeapsGraphsSorting Algorithms:Insertion SortSelection SortBubble SortShell SortHeap SortMerge SortQuick SortRadix SortThanks for considering, and I hope this course will help you in your journey. Happy learning!

Overview

Section 1: Introduction

Lecture 1 Course objectives, structure and more

Lecture 2 How computers work

Lecture 3 What are algorithms

Lecture 4 What are data structures

Section 2: The Big O Notation

Lecture 5 Intro

Lecture 6 Constant O(1)

Lecture 7 Linear O(n)

Lecture 8 Quadratic O(n2)

Lecture 9 Logarithmic O(logn)

Lecture 10 Space Complexity

Lecture 11 Asymptotic Complexity

Section 3: Recursion

Lecture 12 The Call Stack and function execution

Lecture 13 What is Recursion

Lecture 14 Potential Problems

Lecture 15 Recursion vs Iteration

Lecture 16 Big O of Recursive Functions

Section 4: Arrays and Hash Tables

Lecture 17 Arrays

Lecture 18 Big O of Arrays

Lecture 19 Hash Tables (Dictionaries)

Lecture 20 Big O of Hash Tables

Section 5: Singly Linked Lists

Lecture 21 Intro

Lecture 22 Append

Lecture 23 Prepend

Lecture 24 Pop Left

Lecture 25 Pop Right

Lecture 26 Remove

Lecture 27 Reverse

Lecture 28 Recap

Lecture 29 A note on the last video

Section 6: Doubly Linked Lists

Lecture 30 Intro

Lecture 31 Append

Lecture 32 Prepend

Lecture 33 Pop Left

Lecture 34 Pop Right

Lecture 35 Remove

Lecture 36 Recap

Section 7: Stacks and Queues

Lecture 37 Stacks - Intro

Lecture 38 Stacks - Array Implementation

Lecture 39 Stacks - Linked Lists Implementation

Lecture 40 Stacks - Recap

Lecture 41 Queues - Intro

Lecture 42 Queues - Linked Lists Implementation

Lecture 43 Queues - Deques

Section 8: Binary Search Trees

Lecture 44 Trees Intro

Lecture 45 Binary Search Trees Intro

Lecture 46 Insert

Lecture 47 Contains

Lecture 48 Remove Intro

Lecture 49 Remove Node no children

Lecture 50 Remove Node one child

Lecture 51 Remove Node two children

Section 9: Tree Traversal

Lecture 52 Intro

Lecture 53 Breadth First Traversal

Lecture 54 DFT Pre Order Iterative

Lecture 55 DFT Pre Order Recursive

Lecture 56 DFT In Order Iterative

Lecture 57 DFT In Order Recursive

Lecture 58 DFT Post Order Iterative

Lecture 59 DFT Post Order Recursive

Lecture 60 Recap

Section 10: Heaps

Lecture 61 Intro

Lecture 62 Insert

Lecture 63 Remove Max

Lecture 64 Heapify

Section 11: Graphs

Lecture 65 Intro

Lecture 66 Adding Vertices and Edges

Lecture 67 Removing Vertices and Edges

Lecture 68 Breadth First Traversal

Lecture 69 Depth First Traversal Iterative

Lecture 70 Depth First Traversal Recursive

Section 12: Sorting

Lecture 71 Intro

Lecture 72 Insertion Sort

Lecture 73 Selection Sort

Lecture 74 Bubble Sort

Lecture 75 Shell Sort

Lecture 76 Heap Sort

Lecture 77 Merge Sort

Lecture 78 Quick Sort

Lecture 79 Radix Sort

Section 13: Congratulations

Lecture 80 Congratulations and thank you

Self-taught engineers with a career in a different field that want to switch to the tech industry,Anyone who is preparing for a technical interview,Engineers who want to build better tech fluency, land better roles, and push their career to new heights,Computer Science students who want to supplement their studies with alternative learning materials