Mastering Data Structures & Algorithms using C and C++

Learn how to use data structures and algorithms to their maximum effect with our in-depth video course, “Mastering Data Structures & Algorithms Using C and C++.” This educational series is made to assist you in developing your programming skills and solving issues. It has more than 30 hours of interesting video content.

In this thoughtfully created course, the fundamentals of data structures and algorithms are addressed. You will learn the important concepts, approaches, and best practices in an easily comprehensible way. Whether you’re a beginner attempting to build a strong foundation or an experienced programmer wishing to sharpen your skills, this course is your best option.

You will set out on a journey to master the art of algorithmic data structures in this course. Our carefully prepared curriculum covers the fundamentals and teaches you the key ideas, methods, and best practices in an approachable way. This course is your best resource whether you’re a novice trying to establish a solid foundation or an experienced programmer looking to improve your skills.

Learn about algorithms and data structures in our free online video course, “Mastering Data Structures & Algorithms Using C and C++.” This training course, which has more than 30 hours of content, is your entry point to become a skilled programmer and problem solver. Explore the foundations of data structures and algorithms to deepen your understanding and improve your programming abilities. This course can help you regardless of your level of coding knowledge or need for a solid foundation, so take advantage of it.

What You Will Learn:

  • Explore Popular Data Structures and Their Algorithms: Gain proficiency in a wide range of popular data structures and the algorithms associated with them.
  • Enhance Analytical Skills in Data Structures: Develop the ability to analyze and utilize data structures effectively, boosting your problem-solving skills.
  • Master Recursive Algorithms for Data Structures: Learn the intricacies of recursive algorithms as they apply to various data structures.
  • Dive into Sorting Algorithms: Explore the world of sorting algorithms and understand their implementations.
  • Implement Data Structures using C and C++: Learn how to implement data structures efficiently using the C and C++ programming languages.

Course Content of Mastering Data Structures & Algorithms

1. Before we Start Mastering Data Structures & Algorithms

  • Instructor’s Note
  • Introduction

2. Essential C and Concepts

  • Arrays Basics
  • Practice : Arrays Basics
  • Structures
  • Practice : Structures
  • Pointers
  • Practice : Pointers
  • Reference in C++
  • Practice : Reference
  • Pointer to Structure
  • Practice : Pointer to Structure
  • Functions
  • Practice : Functions
  • Parameter Passing Methods
  • Practice : Parameter Passing Methods
  • Array as Parameter
  • Practice : Array as Parameter
  • Structure as Parameter
  • Practice : Structure as Parameter
  • Structures and Functions (Must Watch)
  • Converting a C program to a C++ class (Must Watch)
  • Practice : Monolithic Program
  • Practice : Modular Program
  • Practice : Structure and Functions
  • Practice : Object-Oriented Program
  • C++ Class and Constructor
  • Practice : Class
  • Template classes
  • Practice : Template Class

3. Required Setup for Programming

  • Online C and C++ compiler
  • Setup CodeBlocks and Settings
  • Setup Dev-C++ and Settings
  • Debugging using Dev-C++
  • Debugging using CodeBlocks
  • Setup Visual Studio
  • Debugging using Visual Studio
  • Setup Xcode

4. Introduction Mastering Data Structures & Algorithms

  • Introduction
  • Stack vs Heap Memory
  • Stack vs Heap. Continued…
  • Ehysical vs Logical Data Structures
  • ADT
  • Time and Space Complexity
  • Time and Space Complexity from Code

5. Recursion Mastering Data Structures & Algorithms

  • How Recursion Works ( Tracing )
  • Generalising Recursion
  • How Recursion uses Stack
  • Recurrence Relation – Time Complexity of Recursion
  • Lets Code Recursion
  • Static and Global Variables in Recursion
  • Let’s Code Static and Global in Recursion
  • Tail Recursion
  • Head Recursion
  • Tree Recursion
  • Let’s Code Tree Recursion
  • Indirect Recursion
  • Let’s Code Indirect Recursion
  • Nested Recursion
  • Let’s Code Nested Recursion
  • Sum of Natural Number using Recursion
  • Let’s Code Sum of N using Recursion
  • Factorial using Recursion
  • Let’s Code Factorial using Recursion
  • Power using Recursion
  • Let’s Code Power Recursion
  • Taylor Series using Recursion
  • Let’s Code Taylor Series using Recursion
  • Taylor Series using Horner’s Rule
  • Let’s Code Taylor Series Horner’s Rule – Recursion
  • Let’s Code Taylor Series Iterative
  • Fibonacci Series using Recursion – Memoization
  • Let’s Code Fibonacci
  • nCr using Recursion
  • Let’s Code nCr using Recursion
  • Tower of Hanoi Problem
  • Let’s Code Tower of Hanoi
  • Recursion
  • Quiz 1 Solutions

6. Arrays Representations Mastering Data Structures & Algorithms

  • Introduction to Array
  • Declarations of Array
  • Demo – Array Declaration
  • Static vs Dynamic Arrays
  • Demo – Static vs Dynamic Array
  • How to Increase Array Size
  • Demo – Increasing Array Size
  • 2D Arrays v
  • Demo – 2D Array
  • Array Representation by Compiler
  • Row Major Formula for 2D Arrays
  • Column Major Formula for 2D Arrays
  • Formulas for nD Arrays
  • Formulas for 3D Arrays
  • Arrays Representation
  • Solutions for Quiz 2

7. Array ADT Mastering Data Structures & Algorithms

  • Array ADT
  • Demo – Array ADT
  • Inserting in an Array
  • Let’s Code Insert
  • Deleting from Array
  • Let’s Code Delete
  • Linear Search
  • Improving Linear Search
  • Let’s Code Linear Search
  • Binary Search
  • Binary Search Algorithm
  • Let’s Code Binary Search
  • Analysis of Binary Search
  • Average Case Analysis of Binary Search
  • Get( ) Set( ) Avg( ) Max( ) functions on Array
  • Let’s Code Get() Set() Max() on Array
  • Reverse and Shift an Array v
  • Lest’s Code Reversing an Array
  • Check if Array is Sorted
  • Let’s Code to check if Array is Sorted
  • Merging Arrays
  • Let’s Code to Merge Arrays
  • Set operations on Array – Union, Intersection and Difference
  • Let’s Code Set operations on Array
  • Let’s Code a Menu Driver program for Arrays
  • Let’s convert C program for Array to C++
  • Let’s Put all together in C++ program for Array
  • Student Challenge : Finding Single Missing Element in an Array
  • Student Challenge : Finding Multiple Missing Elements in an Array
  • Student Challenge : Finding Missing Element in an Array Method 2
  • Student Challenge Finding Duplicates in a Sorted Array
  • Student Challenge : Finding Duplicates in Sorted Array using Hashing
  • Student Challenge : Finding Duplicates in a Unsorted Array
  • Student Challenge : Finding a Pair of Elements with sum K
  • Student Challenge : Finding a Pair of Elements with sum K in
  • Sorted Array
  • Student Challenge : Finding Max and Min in a single Scan
  • Array ADT
  • Solutions for Quiz 3

8. Strings Mastering Data Structures & Algorithms

  • Introduction to Strings
  • Finding Length of a String
  • Changing Case of a String
  • Counting Words and Vowels in a String
  • Validating a String
  • Reversing a String
  • Comparing Strings and Checking Palindrome
  • Finding Duplicates in a String
  • Finding Duplicates in a String using Bitwise Operations
  • Checking if 2 Strings are Anagram (distinct letters)
  • Permutation of String

9. Matrices Mastering Data Structures & Algorithms

  • Section Introduction
  • Diagonal Matrix
  • Let’s Code Diagonal Matrix
  • C++ class for Diagonal Matrix
  • Let’s Code C++ class for Diagonal matrix
  • Lower Triangular Matrix Row-Major Mapping
  • Lower Triangular Matrix Column-Major Mapping
  • Let’s Code Lower Triangular Matrix in C
  • Let’s Code Lower Triangular Matrix in
  • Upper Triangular Matrix Row-Major Mapping
  • Upper Triangular Matrix Column-Major Mapping
  • Symmetric Matrix
  • Tri-Diagonal and Tri-Band Matrix
  • Toeplitz Matrix
  • Menu Driven Program for Matrices
  • Menu Driven Pro ram for Matrices usin Functions
  • How to Write C++ Classes for All Matrices
  • Matrices

10. Sparse Matrix and Polynomial Representation

  • Sparse Matrix Representation
  • Addition of Sparse Matrices
  • Array Representation of Sparse Matrix
  • Let’s Code to Create Sparse Matrix
  • Program for Adding Sparse Matrix
  • Let’s Code to Add Sparse Matrix
  • Let’s Code Sparse Matrix using C++
  • Let’s Code Sparse Matrix using C++ Continued…..
  • Polynomial Representation
  • Polynomial Evaluation
  • Polynomial Addition
  • Let’s Code Polynomial

11. Linked List Mastering Data Structures & Algorithms

  • Why we need Dynamic Data Structure Linked List
  • About Linked List
  • More About Linked List
  • Display Linked List
  • Let’s Code Display for Linked List
  • Recursive Display of Linked List
  • Let’s Code Recursive Display for Linked List
  • Counting Nodes in a Linked List
  • Sum of All Elements in a Linked List
  • Let’s Code Count and Sum
  • Maximum Element in a Linked List
  • Let’s Code Max for Linked List
  • Searching in a Linked List
  • Improve Searching in Linked List
  • Let’s Code Searching in Linked List
  • Inserting in a Linked List
  • Let’s Code Insert for Linked List
  • Creating a Linked List using Insert
  • Creating a Linked List by Inserting at Last
  • Inserting in a Sorted Linked List
  • Let’s Code Insert in Sorted Linked List
  • Deleting from Linked List
  • Let’s Code Delete on Linked List
  • Check if a Linked List is Sorted
  • Let’s Code to check if Linked List is Sorted
  • Remove Duplicates from Sorted Linked List
  • Let’s Code to Remove Duplicates from Sorted Linked List
  • Reversing a Linked List
  • Reversing using Sliding Pointers
  • Recursive Reverse for Linked List
  • Let’s Code Reversing a Linked List
  • Concatenating 2 Linked Lists
  • Merging 2 Linked Lists
  • Let’s Code to Concatenate and Merge Linked Lists
  • Check for LOOP in Linked List
  • Let’s Code to Check LOOP
  • Let’s Code a C++ class for Linked List
  • Circular Linked List
  • Display Circular Linked List
  • Let’s Code Circular Linked List
  • Inserting in a Circular Linked List
  • Let’s Code Insert for a Circular Linked List
  • Deleting From Circular Linked List
  • Let’s Code Delete for Circular Linked List
  • Doubly Linked List
  • Let’s Code Doubly Linked List
  • Insert in a Doubly Linked List
  • Let’s Code Insert for Doubly Linked List
  • Deleting from Doubly Linked List
  • Let’s Code Delete for Doubly Linked List
  • Reverse a Doubly Linked List
  • Let’s Code Reverse for Doubly Linked List
  • Circular Doubly Linked List
  • Comparison of Array with Linked List
  • Student Challenge : Finding Middle Element of a Linked List.
  • Student Challenge : Finding Intersecting point of Two Linked List
  • Linked List Mastering Data Structures & Algorithms

12. Sparse Matrix and Polynomial using Linked List

  • Student Challenge : Sparse Matrix using Linked List
  • Student Challenge: Polynomial Representation using Linked
  • List
  • Let’s Code Polynomial

13. Stack

  • Introduction to Stack
  • Stack using Array
  • Implementation os Stack using Array
  • Let’s Code Stack using Array
  • Stack using Linked List
  • Stack Operations using Linked List
  • Let’s Code Stack using Linked List
  • Let’s Code C++ class for Stack using Linked List
  • Parenthesis Matching
  • Program for Parenthesis Matching
  • Let’s Code Parenthesis Matching
  • More on Parenthesis Matching
  • Infix to Postfix Conversion
  • Associativity and Unary Operators
  • Infix to Postfix using Stack Method 1
  • Infix to Postfix using Stack Method 2
  • Pro ram for Infix to Postfix Conversion
  • Let’s Code Infix to Postfix Conversion
  • Student Challenge: Infix to Postfix with Associativity and
  • Parenthesis
  • Evaluation of Postfix Expression
  • Program for Evaluation of Postfix
  • Let’s Code Evaluation of Postfix
  • Stack Mastering Data Structures & Algorithms

14. Queues

  • Queue ADT
  • Queue using Single Pointer
  • Queue using Two Pointers
  • Implementing Queue using Array
  • Let’s Code Queue using Array
  • Let’s Code Queue in
  • Drawback of Queue using Array
  • Circular Queue
  • Let’s Code Circular Queue
  • Queue using Linked List
  • Let’s Code Queue using Linked List
  • Double Ended Queue DEQUEUE
  • Priority Queues
  • Queue using 2 Stacks
  • Queue

15. Trees

  • Terminology
  • Number of Binary Trees using N Nodes
  • Height vs Nodes in Binary Tree
  • Internal Nodes vs External Nodes in Binary Tree
  • Strict Binary Tree
  • Height vs Node of Strict Binary Tree
  • Internal vs External Nodes of Strict Binary Trees
  • n-ary Trees
  • Analysis of n-Ary Trees
  • Representation of Binary Tree
  • Linked Representation of Binary Tree
  • Full vs Complete Binary Tree
  • Strict vs Complete Binary Tree
  • Binary Tree Traversals
  • Binary Tree Traversal Easy Method 1
  • Binary Tree Traversal Easy Method 2
  • Binary Tree Traversal Easy Method 3
  • Creating Binary Tree
  • Program to Create Binary Tree
  • Let’s Code Creating Binary Tree
  • Let’s Code Creating Binary Tree in C+
  • Preorder Tree Traversal Mastering Data Structures & Algorithms
  • InorderTree Traversals Functions
  • Iterative Preorder
  • Iterative Inorder
  • Let’s Code Iterative Traversals
  • Level Order Traversal
  • Let’s Code Level Order Traversal
  • Can we Generate Tree from Traversals
  • Generating Tree from Traversals
  • Height and Count of Binary Tree
  • Let’s Code Height and Count
  • Student Challenge : Count Leaf Nodes of a Binary Tree
  • Binary Trees

16. Binary Search Trees

  • BST intro
  • Searching in a Binary Search Tree
  • Inserting in a Binary Search Tree
  • Recursive Insert in Binary Search Tree
  • Creating a Binary Search Tree
  • Let’s code Binary Search Tree
  • Deleting from Binary Search Tree
  • Let’s Code Recursive Insert and Delete on BST
  • Generating BST from Preorder
  • Program for Generating BST from Preorder
  • Drawbacks of Binary Search Tree
  • Binary Search Trees

17. AVL Trees

  • Introduction to AVL Trees
  • Inserting in AVL with Rotations
  • General form of AVL Rotations
  • Let’s Code LL Rotation on AVL
  • Let’s Code LR Rotation on AVL
  • Generating AVL Tree
  • Deletion from AVL Tree with Rotations
  • Height Analysis of AVL Trees

18. Search Trees

  • 2-3 Trees
  • 2-3-4 Trees
  • Red-Black Trees Introduction
  • Red-Black Tree creation
  • Red-Black Trees vs 2-3-4 Trees
  • Creating Red-Black Tree similar to Creating 2-3-4 Tree
  • Red-Black Tree Deletion Cases
  • Red-Black Tree Deletion Examples
  • Red-Black Tree vs 2-3-4 Tree Deletion

19. Heap

  • Introduction to Heap
  • Inserting in a Heap
  • Program to Insert in a Heap
  • Creating a Heap
  • Deleting from Heap and Heap Sort
  • Let’s Code Heap Soft
  • Heapify – Faster Method for creating Heap
  • Heap as Priority Queue

20. Sorting Techniques

  • Criteria used for Analysing Sons
  • Bubble Sort
  • Let’s Code Bubble Sort
  • Insertion Sort
  • Insertion Son Continued….
  • Program for Insertion Sort
  • Analysis of Insertion Sort
  • Let’s Code Insertion Sort
  • Comparing Bubble and Insertion Sort
  • Selection Soft
  • Program for Selection Sort
  • Analysis of Selection Sort
  • Let’s Code Selection Son
  • Idea behind Quick Sort
  • Quick Sort
  • Analysis of Quick Son
  • Anal sis of Quick Sort Continued….
  • Let’s Code Quick Sort
  • Merging
  • Iterative Merge Sort
  • Let’s Code Iterative Merge Sort
  • Recursive Merge Sort
  • Let’s Code Recursive Merge Sort
  • Count Sort
  • Let’s Code Count Sort
  • Bin / Bucket Sort
  • Radix Sort
  • Shell Sort
  • Let’s Code Shell Sort

21. Hashing Technique

  • Introduction to Hashing
  • Chaining
  • Let’s Code Chaining
  • Linear Probing
  • Let’s Code Linear Probing
  • Quadratic Probing
  • Double Hashing
  • Hash Function Ideas
  • Hashing

22. Graphs

  • Introduction to Graphs
  • Representation of Undirected Graph
  • Representation of Directed Graphs
  • Breadth First Search
  • Program for BFS
  • Depth First Search
  • Program for DFS
  • Let’s Code BFS & DFS
  • Spanning Trees
  • Prim’s Minimum Cost Spanning Tree
  • Prim’s Program
  • Let’s Code Prim’s using
  • Kruskal’s Minimum Cost Spanning Tree
  • Disjoint Subsets
  • Kruskal’s Program
  • Let’s Code Kruskla’s Program
  • Graphs

23. Asymptotic Notations

  • Asymptotic Notations Big Oh , Omega , Theta
  • PDF for All Programs

Requirements:

  • Prior Programming Experience: Familiarity with programming in C and C++ is required.

Who Should Take This Course:

  • Developers Seeking In-Depth Data Structure Knowledge: This course is ideal for developers looking to attain a deep understanding of data structures.
  • Undergraduates Eager to Master Data Structures: Undergraduate students who aspire to perfect their knowledge of data structures will find this course highly beneficial.

What will I learn from this course?

You can write quick and optimized code if you have a solid understanding of data structures and techniques.

How does the course’s organization work Mastering Data Structures & Algorithms?

The course is divided into in-depth modules that cover various topics and contain tasks and examples from the real world to help you retain what you’ve learned.

Does this course have any prerequisites?

There are no formal qualifications, but having a basic understanding of programming will be beneficial.

Free in our “Mastering Data Structures & Algorithms using C and C++” free video course, simply follow these steps HowToFree.ORG.

Wait 15 Second For Download This File For Free

Author : https://www.udemy.com/course/datastructurescncpp/

if you find any wrong activities so kindly read our DMCA policy also contact us. Thank you for understand us…

4.3/5 - (3 votes)

Leave a Comment