Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Data Structures - Complete Course with Algorithms and Implementation

Neso Academy via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn fundamental and advanced data structures concepts through a comprehensive course covering essential topics for competitive programming, academic examinations, and technical interviews. Master the basics of data organization in computers, starting with introductory concepts like data types versus abstract data types, and progress through asymptotic analysis for algorithm efficiency evaluation. Explore memory management techniques including dynamic allocation using malloc(), calloc(), realloc(), and proper memory deallocation, while understanding different pointer types and their applications. Dive deep into linked list implementations including single, doubly, and circular variations, learning insertion, deletion, traversal, and reversal operations with comparative analysis against arrays. Study practical applications such as polynomial arithmetic and number addition using linked lists. Understand stack data structures through both array and linked list implementations, covering essential operations and real-world applications like bracket matching and infix-to-postfix conversion. Examine queue operations and their implementations, followed by tree data structures including binary trees, binary search trees, and self-balancing AVL trees. Practice problem-solving through numerous solved examples, GATE examination problems, and rapid-fire quizzes to reinforce learning. Gain proficiency in choosing appropriate data structures for specific use cases and develop skills essential for software development and competitive programming success.

Syllabus

Introduction to Data Structures
Data Types vs. Abstract Data Types
Data Structure Definition & Advantages
Types of Data Structures
Basics of Asymptotic Analysis (Part 1)
Basics of Asymptotic Analysis (Part 2)
Basics of Asymptotic Analysis (Part 3)
Basics of Asymptotic Analysis (Part 4)
Basics of Asymptotic Analysis (Part 5)
Guidelines for Asymptotic Analysis (Part 1)
Guidelines for Asymptotic Analysis (Part 2)
Asymptotic Analysis (Solved Problem 1)
Asymptotic Analysis (Solved Problem 2)
Asymptotic Analysis (Solved Problem 3)
Understanding the Void Pointers
Understanding the Null Pointers
Understanding the Dangling Pointers
Understanding the Wild Pointers
Basics of Dynamic Memory Allocation
Dynamic Memory Allocation using malloc()
Dynamic Memory Allocation using calloc()
Dynamic Memory Allocation using realloc()
Releasing the Dynamically Allocated Memory using free()
Structures and Functions (Part 1)
Structures and Functions (Part 2)
Structures and Functions (Part 3)
Structures and Functions (Part 4)
Structures and Functions (Part 5)
Structures and Functions (Part 6)
Self Referential Structures
Introduction to Linked List
Array vs. Single Linked List (In Terms of Representation)
Creating the Node of a Single Linked List
Creating a Single Linked List (Part 1)
Creating a Single Linked List (Part 2)
Traversing a Single Linked List (Counting the Nodes)
Traversing a Single Linked List (Printing the Data)
Traversing the List (Linked List vs. Arrays)
Single Linked List (Inserting a Node at the End)
Insertion at the End (Linked List vs. Array) - Part 1
Insertion at the End (Linked List vs. Array) - Part 2
Single Linked List (Inserting a Node at the Beginning)
Inserting the Data at the Beginning of Single Linked Lists (Possible Mistake)
Inserting the Data at the Beginning of Single Linked List (2nd Method)
Inserting the Data at the Beginning (Singly Linked List vs. Array)
Single Linked List (Inserting a Node at a Certain Position)
Insertion at a Certain Position (Singly Linked List vs. Arrays) - Part 1
Insertion at a Certain Position (Singly Linked List vs. Arrays) - Part 2
Single Linked List (Deleting the First Node)
Single Linked List (Deleting the Last Node)
Single Linked List (Deleting the Last Node using Single Pointer)
Deletion at the End (Singly Linked List vs. Array)
Deletion at the Beginning (Single Linked List vs. Array)
Single Linked List (Deleting the Node at a Particular Position)
Deleting the Entire Single Linked List
Reverse a Single Linked List
Singly Linked List (Solved Problem 1)
Singly Linked List (Solved Problem 2)
Singly Linked List (Solved Problem 3)
Singly Linked List (Solved Problem 4)
Singly Linked List (Solved Problem 5)
Singly Linked List (Solved Problem 6)
Rapid Fire Quiz (Singly Linked List)
Introduction to Doubly Linked List
Doubly Linked List (Inserting a Node in an Empty List)
Doubly Linked List (Insertion at the Beginning)
Doubly Linked List (Insertion at the End)
Doubly Linked List (Insertion between the Nodes) - Part 1
Doubly Linked List (Insertion between the Nodes) - Part 2
Creating an Entire Doubly Linked List
Doubly Linked List (Deleting the First Node)
Doubly Linked List (Deleting the Last Node)
Doubly Linked List (Deleting the Intermediate Node)
Reversing the Doubly Linked List
Doubly Linked List (Solved Problem 1)
Doubly Linked List (Solved Problem 2)
Why Doubly Linked List?
Rapid Fire Quiz (Doubly Linked List)
Introduction to Circular Linked List
Circular Singly Linked List (Insertion at the Beginning)
Traversing a Circular Singly Linked List
Circular Singly Linked List (Insertion at the End)
Circular Singly Linked List (Insertion between the Nodes)
Creating a Circular Singly Linked List
Circular Singly Linked List (Deleting the First Node)
Circular Singly Linked List (Deleting the Last Node)
Circular Singly Linked List (Deleting the Intermediate Node)
Circular Singly Linked List (Counting the Number of Elements)
Circular Singly Linked List (Searching an Element)
Circular Doubly Linked List (Insertion at the Beginning)
Circular Doubly Linked List (Insertion at the End)
Circular Doubly Linked List (Insertion between the Nodes)
Circular Doubly Linked List (Deleting the First Node)
Circular Doubly Linked List (Deleting the Last Node)
Circular Doubly Linked List (Deleting the Intermediate Node)
Sorted Singly Linked List (Inserting a New Element)
Application of Linked List (Polynomial Arithmetic) - Part 1
Application of Linked List (Polynomial Arithmetic) - Part 2
Application of Linked List (Addition of Two Polynomials)
Application of Linked List (Multiplication of Two Polynomials)
Application of Linked List (Multiplication of Two Polynomials) - Improvements
Adding Two Numbers using Linked Lists - Part 1
Adding Two Numbers using Linked Lists - Part 2
Adding Two Numbers using Linked Lists - Part 3
Introduction to Stacks
Array Implementation of Stacks (Part 1)
Array Implementation of Stacks (Part 2)
Array Implementation of Stacks (Part 3)
Array Implementation of Stacks (Part 4)
Stacks (Important Questions) – Set 1
Stacks (Important Questions) – Set 2
Stacks (Program 1) – Part 1
Stacks (Program 1) – Part 2
Stacks (Program 1) – Part 3
Stacks (Program 2) – Part 1
Stacks (Program 2) – Part 2
Stacks (Program 3)
Linked List Implementation of Stacks (Part 1)
Linked List Implementation of Stacks (Part 2)
Linked List Implementation of Stacks (Part 3)
Stacks (Program 4) – Part 1
Stacks (Program 4) – Part 2
Stacks (Program 4) – Part 3
Stacks (Program 4) – Part 4
Stacks (Program 4) – Part 5
Stacks (Program 4) – Part 6
Stacks (Program 4) – Part 7
Stacks (Program 5)
Application of Stacks (Nested Brackets) - Part 1
Application of Stacks (Nested Brackets) - Part 2
Application of Stacks (Infix to Postfix) - Part 1
Application of Stacks (Infix to Postfix) - Part 2
Application of Stacks (Infix to Postfix) - Part 3
Application of Stacks (Infix to Postfix) - Part 4
Application of Stacks (Infix to Postfix) - Part 5
Application of Stacks (Infix to Postfix) - Part 6
Application of Stacks (Infix to Postfix) - Part 7
Application of Stacks (Infix to Postfix) - Part 8
Stacks (GATE Problems) - Set 1
Stacks (GATE Problems) - Set 2
Queues | Chapter-7 | Data Structures | nesoacademy.org
Binary Trees | Chapter-8 | Data Structures | nesoacademy.org
Binary Search Trees | Chapter-9 | Data Structures | nesoacademy.org
AVL Trees | Chapter-10 | Data Structures | nesoacademy.org

Taught by

Neso Academy

Reviews

Start your review of Data Structures - Complete Course with Algorithms and Implementation

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.