Data Structures and Algorithms in Python

Syed Mohiuddin

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
57 Lessons (5h 21m)
    • 1. Why Data Structures?

      1:53
    • 2. Python Installation

      1:56
    • 3. PyCharm Installation

      1:28
    • 4. Linear Search Algorithm

      2:44
    • 5. Implementing Linear Search Algorithm in Python

      3:24
    • 6. Recursion in Python

      4:09
    • 7. Binary Search Algorithm

      6:18
    • 8. Implementing Binary Search Algorithm in Python - Iteratively

      3:15
    • 9. Implementing Binary Search Algorithm in Python - Recursively

      2:40
    • 10. Algorithm Analysis - Time and Space Complexity

      12:34
    • 11. Abstract Data Type (ADT)

      0:59
    • 12. Stacks Introduction

      2:54
    • 13. Stacks Abstract Data Type (ADT)

      1:59
    • 14. Implementing Stacks using Arrays/Lists in Python

      7:45
    • 15. Queues Introduction

      1:14
    • 16. Queues Abstract Data Type (ADT)

      2:17
    • 17. Implementing Queues using Arrays/Lists in Python

      4:33
    • 18. Deques Introduction

      1:36
    • 19. Deque Abstract Data Type (ADT)

      1:57
    • 20. Implementing Deques using Arrays/Lists in Python

      5:26
    • 21. Linked List Introduction

      16:17
    • 22. Implementing Linked List in Python

      18:12
    • 23. Circular Linked List

      7:41
    • 24. Implementing Circular Linked List in Python

      13:15
    • 25. Doubly Linked List

      12:38
    • 26. Implementing Doubly Linked List in Python

      16:49
    • 27. Implementing Stacks using Linked List in Python

      5:38
    • 28. Implementing Queues using Linked List in Python

      5:05
    • 29. Implementing Deques using Linked List in Python

      2:53
    • 30. Trees - Definition and Properties

      7:41
    • 31. Binary Trees and it's Properties

      6:00
    • 32. Level Order Traversal of Binary Trees

      2:15
    • 33. Preorder Traversal of Binary Trees

      2:58
    • 34. Inorder Traversal of Binary Trees

      2:43
    • 35. Postorder Traversal of Binary Trees

      2:25
    • 36. Implementing Binary Tree using Linked Structure in Python

      12:11
    • 37. Binary Search Tree Property

      6:16
    • 38. Insertion and Deletion in Binary Search Trees

      4:29
    • 39. Implementing Binary Search Trees in Python

      11:33
    • 40. Priority Queues & Heaps Introduction

      3:20
    • 41. Heaps Abstract Data Type (ADT)

      6:03
    • 42. Implementing Heaps in Python

      8:55
    • 43. heapq Module in Python

      4:31
    • 44. Graphs Introduction

      5:44
    • 45. Graph Abstract Data Type (ADT)

      1:43
    • 46. Implementing Graphs in Python

      7:02
    • 47. Graph Traversal Algorithms

      8:38
    • 48. Implementing Breadth-First Search Algorithm in Python

      3:07
    • 49. Implementing Depth-First Search Algorithm in Python

      3:01
    • 50. Selection Sort Algorithm & Its Implementation in Python

      5:01
    • 51. Insertion Sort Algorithm & Its Implementation in Python

      4:49
    • 52. Bubble Sort Algorithm & Its Implementation in Python

      4:09
    • 53. Merge Sort Algorithm & Its Implementation in Python

      6:17
    • 54. Quick Sort Algorithm & Its Implementation in Python

      7:37
    • 55. Heap Sort Algorithm & Its Implementation in Python

      3:05
    • 56. Python's Built-in Sorting Functions

      4:46
    • 57. Asymptotic Notations Big-Oh, Omega & Theta

      4:54
20 students are watching this class

About This Class

This course will help you in better understanding of the basics of Data Structures and how algorithms are implemented in the high level programming language. This course consists of lectures on data structures and algorithms which covers the computer science theory + implementation of data structures in python language. This course will also help students to face interviews at the top technology companies. This course is like having personal tutors to teach you about data structures and algorithms.

There’s tons of concepts and content in this course. To begin the course:

  • We have a discussion of why we need data structures.

  • Then we move on to discuss Analysis of Algorithms ie Time and Space complexity, though the Asymptotic Notation ie Big O, Omega and Theta are taken up at the end of this course so that you do not get confused and concentrate on understanding the concepts of data structures.

  • We have a programming environment set up to make sure you have all the software you need in order to get the hands-on experience in implementing Data structures and algorithms.

Then we get to the essence of the course; algorithms and data structures. Each of the specific algorithms and data structures is divided into two sections. Theory lectures and implementation of those concepts in Python. We then move on to learn:

  1. Recursion

  2. Stacks, Queues, Deques

  3. Linked List

  4. Trees & Binary Trees

  5. Binary Search Trees

  6. Priority Queues and Heaps

  7. Graphs & Graph Traversal Algorithms

  8. Searching and Sorting algorithms

Again, each of these sections includes theory lectures covering data structures & their Abstract Data Types and/or algorithms. Plus the implementation of these topics in Python.