We may earn an affiliate commission when you visit our partners.
Course image
Glassbyte Team

    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.

Read more

    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 hood

  • What a data structure is

  • What an algorithm is

  • Problem solving techniques

  • Big 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 works

  • Recursion

Data Structures:

  • Arrays

  • Hash Tables

  • Singly Linked Lists

  • Doubly Linked Lists

  • Stacks

  • Queues

  • Binary Search Trees

  • Tree Traversal

  • Heaps

  • Graphs

Sorting Algorithms:

  • Insertion Sort

  • Selection Sort

  • Bubble Sort

  • Shell Sort

  • Heap Sort

  • Merge Sort

  • Quick Sort

  • Radix Sort

Thanks for considering, and I hope this course will help you in your journey. Happy learning.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction
Course objectives, structure and more
How computers work
What are algorithms
Read more
What are data structures
The Big O Notation
Intro
Constant O(1)
Linear O(n)
Quadratic O(n2)
Logarithmic O(logn)
Space Complexity
Asymptotic Complexity
Recursion
The Call Stack and function execution
What is Recursion
Potential Problems
Recursion vs Iteration
Big O of Recursive Functions
Arrays and Hash Tables
Arrays
Big O of Arrays
Hash Tables (Dictionaries)
Big O of Hash Tables
Singly Linked Lists
Queues - Linked Lists Implementation
Append
Prepend
Queues - Deques
Pop Left
Pop Right
Binary Search Trees
Remove
Reverse
Recap
Trees Intro
A note on the last video
Doubly Linked Lists
Stacks and Queues
Stacks - Intro
Stacks - Array Implementation
Stacks - Linked Lists Implementation
Stacks - Recap
Queues - Intro
Binary Search Trees Intro
Insert
Heapify
Contains
Remove Intro
Remove Node no children
Remove Node one child
Remove Node two children
Tree Traversal
Breadth First Traversal
DFT Pre Order Iterative
DFT Pre Order Recursive
DFT In Order Iterative
DFT In Order Recursive
DFT Post Order Iterative
DFT Post Order Recursive
Heaps
Remove Max
Graphs
Adding Vertices and Edges
Removing Vertices and Edges
Depth First Traversal Iterative
Depth First Traversal Recursive
Sorting
Insertion Sort
Selection Sort
Bubble Sort
Shell Sort
Heap Sort
Merge Sort
Quick Sort
Radix Sort
Congratulations
Congratulations and thank you

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a comprehensive foundation in data structures and algorithms, which are essential for building reliable and performant software
Taught by Glassbyte Team, who are recognized for their expertise in data structures and algorithms
Covers a wide range of data structures, including arrays, hash tables, linked lists, trees, and graphs, as well as sorting algorithms
Includes in-depth analysis of algorithms and their performance, using the Big O Notation
Offers hands-on practice through coding examples and step-by-step walkthroughs
Designed for self-taught developers and aspiring engineers who want to enhance their knowledge in data structures and algorithms

Save this course

Save Data Structures and Algorithms in Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures and Algorithms in Python with these activities:
Master Insertion Sort
Inserting a value into its correct position in a sorted list is a fundamental operation of sorting algorithms. This will familiarize you with the Insertion Sort algorithm in particular.
Browse courses on Insertion Sort
Show steps
  • Create an array of unordered numbers.
  • Pick an element in the array.
  • Compare the element to the ones on its left.
  • Shift the sorted elements to the right until the correct position is found.
  • Insert the element into the correct position.
Explain Recursion to Yourself
Give yourself a foundation in recursion by creating content that explains its mechanism and how it relates to functions and the call stack.
Browse courses on Recursion
Show steps
  • Define recursion and explain how it works.
  • Explain the use of the call stack during recursive calls.
  • Illustrate recursion with a simple example, such as finding the factorial of a number.
Learn Binary Search Tree Traversal Algorithms
BinaryTree traversal algorithms are key to the effective use of this data structure, as it helps you search, insert, and delete data. You will familiarize yourself with depth-first search and breadth-first search techniques.
Browse courses on Binary Search Tree
Show steps
  • Create a binary search tree with sample data.
  • Implement a depth-first search algorithm and test it on the tree.
  • Implement a breadth-first search algorithm and test it on the tree.
  • Compare the results and time complexity of both algorithms.
Show all three activities

Career center

Learners who complete Data Structures and Algorithms in Python will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser