Home Courses Instructor Labs

Data Structures & Algorithms in Python

(149 Ratings) 537 Students Enrolled
Created By Deepika S Last Updated 02-Nov-2019 English
  • Course Duration
    10 Hours
  • Mode of Training
    Self-Paced
  • Lessons
    126 Lessons
  • Validity
    Life Time
$ 129.99 $ 9.99 92% off 100% Money Back Guarantee
12k+ satisfied learners Read Reviews
What Will I Learn?
  • Understand the concepts of Data Structures and Algorithm through animations
  • Learn how to track the coding round interviews
  • Learn how to calculate the Complexity of Algorithms
  • Learn to implement the Data Structures and Algorithms concepts in Python Programming
  • Improve your coding techniques with various examples explained in the course
  • Get the confident to write the complex Algorithms

Requirements
  • Basic understandings of Python Programming
+ View More
Description

The "Data Structures & Algorithms in Python" is explained in detail with examples which uses lot of animations to help you visualize the concepts.

This course will help you to build a strong background in Data Structures and Algorithms concepts.

The following concepts are explained in detail:

  • Algorithm Analysis, Big O notation, Time Complexity
  • Singly Linked list, Doubly linked list, Circular linked list and their operations such as insertion, deletion, reverse a list, linked list concatenation and sorted linked list.
  • Stack, Queue, Circular Queue, Dequeue and Priority Queue
  • Polish Notations, Infix to Postfix and Evaluation of Postfix, 
  • Binary Tree, Binary Search Tree, Tree Traversal such as preorder, inorder, postorder and level order
  • Heap, Searching and Sorting
  • Sorting concepts such as Bubble, Selection, Shell, Merging, Recursive Merge, Iterative Merge, Quick, Heap, Radix and Address calculation sort.

Through this course, you can build strong foundation and helps to crack Data Structure and Algorithms coding interviews.

In this Data Structures and Algorithms course, Python programs are used to implement various Data Structure concepts. You can also implement this in other languages such as C, C++, Java or C#.

Curriculum For This Course
126 Lessons 10 Hours
  • Data Structures & Algorithms 00:04:20 Preview
  • How to measure Running time of Algorithms ? 00:03:07
  • Asymptotic Analysis 00:03:14
  • Big O Notation 00:03:41
  • Finding Big O 00:04:24
  • Tight and Loose upper bounds 00:01:29
  • Big O Analysis of Algorithms 00:02:05
  • Finding Time Complexity 00:03:26
  • Big O analysis of Algorithms: Examples 00:07:28
  • Worst case, Best case and Average Case Analysis 00:04:18
  • Common Complexities 00:03:04
  • Introduction 00:11:36
  • Single Linked List - Traversing and Searching 00:07:36
  • Finding references in a single linked list 00:06:25
  • Single Linked List - Insertion (part - 1) 00:05:48 Preview
  • Single Linked List - Insertion (part - 2) 00:07:36
  • Single Linked List - Deletion 00:04:22
  • Single Linked List - Reverse 00:02:50
  • Sorting a Linked list using Bubble Sort 00:09:22
  • Merging of sorted Linked lists 00:13:19
  • Sorting a Linked list using Merge Sort 00:05:08
  • Finding and Removing a cycle in a Linked list 00:12:27
  • Doubly linked list 00:03:31
  • Doubly Linked List - Insertion 00:07:32
  • Doubly Linked List - Deletion 00:06:21
  • Doubly Linked List - Reverse 00:03:31
  • Circular linked list 00:03:10
  • Circular linked list - Insertion 00:04:40
  • Circular linked list - Deletion 00:04:14
  • Concatenation 00:04:16
  • Linked List with Header Node 00:05:03
  • Sorted linked list 00:05:58
  • Introduction 00:02:10
  • Stack 00:01:30
  • Array Implementation of Stack 00:12:13
  • Linked List Implementation of Stack 00:05:41
  • Queue 00:01:13
  • Array Implementation of Queue 00:09:51
  • Circular Queue 00:15:14
  • Linked List implementation of Queue 00:05:15
  • Queue through Circular Linked List 00:03:56
  • Deque 00:08:56
  • Priority Queue 00:03:09
  • Checking validity of an expression containing nested parentheses 00:06:14
  • Evaluating Arithmetc Expressions 00:03:22
  • Polish Notations 00:05:57
  • Converting infix expression to postfix expression 00:11:37
  • Evaluation of postfix expression 00:03:25
  • Introduction to trees 00:06:01
  • Strictly Binary Tree and Extended Binary Tree 00:05:16
  • Full binary tree and Complete Binary Tree 00:04:58
  • Array Representation of Binary trees 00:03:36
  • Linked Representation of Binary Trees 00:01:25
  • Binary Tree in Python 00:02:14
  • Traversal in Binary Tree 00:02:07
  • Preorder Traversal 00:05:40
  • Inorder Traversal 00:05:37
  • Postorder Traversal 00:05:03
  • Level order traversal 00:03:30
  • Finding height of a Binary tree 00:03:02
  • Constructing Binary tree from Traversals 00:01:35
  • Constructing binary tree from inorder and preorder traversals 00:04:23
  • Constructing binary tree from inorder and postorder traversals 00:03:49
  • Introduction 00:04:52
  • Traversal in Binary Search Tree 00:01:55
  • Searching in a Binary Search Tree 00:07:49
  • Nodes with Minimum and Maximum key 00:03:20
  • Insertion in a Binary Search Tree 00:08:56
  • Deletion in a Binary Search Tree 00:13:55
  • Introduction 00:02:40
  • Heap Representation 00:02:13
  • Insertion in Heap 00:07:18
  • Deletion 00:08:17
  • Building a Heap 00:04:35
  • Heap Applications 00:01:06
  • Introduction 00:05:02
  • Sort Stability 00:02:26
  • Selection Sort 00:01:49
  • Selection Sort : Example 00:01:18
  • Selection Sort in Python 00:03:26
  • Analysis of Selection Sort 00:02:21
  • Bubble Sort 00:02:24
  • Bubble Sort : Example 00:02:12
  • Bubble Sort in Python 00:04:56
  • Improvement in Bubble Sort 00:02:17
  • Analysis of Bubble Sort 00:02:04
  • Insertion Sort 00:02:38
  • Insertion Sort : Example 00:02:22
  • Insertion Sort in Python 00:03:43
  • Analysis of Insertion sort 00:04:49
  • Shell Sort 00:02:24
  • Shell Sort : Example 00:02:07
  • Shell Sort in Python 00:03:41
  • Analysis of Shell Sort 00:03:30
  • Merging 00:06:59
  • Recursive Merge Sort 00:02:29
  • Recursive Merge Sort in Python 00:03:53
  • Analysis of Merge Sort 00:00:36
  • Iterative Merge Sort 00:01:31
  • Iterative Merge Sort in Python 00:03:18
  • Quick Sort 00:06:56
  • Quick Sort in Python 00:07:24
  • Analysis of Quick Sort 00:03:00
  • Binary tree sort 00:03:05
  • Binary Tree Sort in Python 00:01:04
  • Analysis of Binary Tree Sort 00:01:14
  • Heap Sort 00:07:02
  • Heap Sort : Python Implementation and Analysis 00:02:02
  • Radix Sort 00:04:17
  • Radix Sort : Implementation and Analysis 00:06:11
  • Linear Search 00:04:53
  • Linear Search in Sorted List 00:02:46
  • Binary Search 00:06:05
  • Implementation of Binary Search 00:13:07
  • Analysis of Binary Search 00:02:55
  • Direct Addressing 00:04:17
  • Hashing 00:06:27
  • Collisions 00:02:10
  • Hash Functions 00:09:14
  • Open Addressing : Linear Probing 00:10:49
  • Open Addressing : Quadratic Probing 00:07:40
  • Open Addressing : Double Hashing 00:09:22
  • Deletion in Open Addressed Tables 00:06:16
  • Implementation of Open Addressing 00:08:44
  • Separate Chaining 00:06:55
  • Implementation of Separate Chaining 00:03:54

Data Structures & Algorithms in Python