UDEMY
UDEMY Logo

Mastering Data Structures & Algorithms using C and C++ 

  • Offered byUDEMY

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 
Overview

Duration

59 hours

Total fee

499

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Go to Website External Link Icon

Credential

Certificate

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 
Highlights

  • Compatible on Mobile and TV
  • Earn a Cerificate on successful completion
  • Get Full Lifetime Access
  • Course Instructor : The IELTS
Read more
Details Icon

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 
Course details

Skills you will learn
Who should do this course?
  • Developer who want to get Deepest knowledge of Data Structure
  • Undergraduate who want to Learn Data Structures Perfectly
What are the course deliverables?
  • Learn various Popular Data Structures and their Algorithms.
  • Develop your Analytical skills on Data Structure and use then efficiently.
  • Learn Recursive Algorithms on Data Structures
  • Learn about various Sorting Algorithms
  • Implementation of Data Structures using C and C++
More about this course
  • You may be new to Data Structure or you have already Studied and Implemented Data Structures but still you feel you need to learn more about Data Structure in detail so that it helps you solve challenging problems and used Data Structure efficiently. This 53 hours of course covers each topic in greater details, every topic is covered on Whiteboard which will improve your Problem Solving and Analytical Skills. Every Data Structure is discussed, analysed and implemented with a Practical line-by-line coding . Source code for all Programs is available for you to download About Instructor I am the Instructor of this course, I have been teaching this course to university students for a long period of time, I know the pulse of students very well, I know how to present the topic so that it????????????? s easy to grasp for students. I know how to use White board to explain the topic and also to make it memorable. Remembering the thing and using them in right place is more important than just understanding the topic . After Completing Course After completing this course you will be confident enough to take up any challenging problem in coding using Data Structures. Course Contents 1. Recursion 2. Arrays Representation 3. Array ADT 4. Linked List 5. Stack 6. Queues 7. Trees 8. Binary Search Tree 9. AVL Trees 10. Graphs 11. Hashing Technique
Read more

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 
Curriculum

Before we Start

Instructor's Note

Why You Took this Course? What you are looking for?

Introduction

Essential C and C++ Concepts

Arrays Basics

Structures

Pointers

Reference in C++

Pointer to Structure

Functions

Parameter Passing Methods

Array as Parameter

Structure as Parameter

Structures and Functions (Must Watch)

Converting a C program to a C++ class (Must Watch)

C++ Class and Constructor

Template classes

Required Setup for Programming

Setup Dev-C++ and Settings

Setup CodeBlocks and Settings

Debugging using Dev-C++

Debugging using CodeBlocks

Setup Visual Studio

Debugging using Visual Studio

Setup Xcode

Introduction

Introduction

Stack vs Heap Memory

Stack vs Heap. Continued...

Physical vs Logical Data Structures

ADT

Time and Space Complexity

Time and Space Complexity from Code

Recursion

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

Quiz 1 Solutions

Arrays Representations

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

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

Solutions for Quiz 2

Array ADT

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

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

Solutions for Quiz 3

Strings

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

Permutation of String

Matrices

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 C++

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 Program for Matrices using Functions

How to Write C++ Classes for All Matrices

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

Linked List

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 Linked List

Let's Code to Remove Duplicates from 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

Le'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 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 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

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

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

Program 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

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 C++

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

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

Inorder Tree 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 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

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

Search Trees

2-3 Trees

2-3-4 Trees

Re-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

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 Sort

Heapify - Faster Method for creating Heap

Heap as Priority Queue

Sorting Techniques

Criteria used for Analysing Sorts

Bubble Sort

Let's Code Bubble Sort

Insertion Sort

Insertion Sort Continued....

Program for Insertion Sort

Analysis of Insertion Sort

Let's Code Insertion Sort

Comparing Bubble and Insertion Sort

Selection Sort

Program for Selection Sort

Analysis of Selection Sort

Let's Code Selection Sort

Idea behind Quick Sort

Quick Sort

Analysis of Quick Sort

Analysis 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

Hashing Technique

Introduction to Hashing

Chaining

Let's Code Chaining

Linear Probing

Let's Code Linear Probing

Quadratic Probing

Double Hashing

Hash Function Ideas

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

Asymptotic Notations

Asymptotic Notations Big Oh , Omega , Theta

PDF for All Programs

Other courses offered by UDEMY

549
50 hours
– / –
3 K
10 hours
– / –
549
4 hours
– / –
599
10 hours
– / –
View Other 2346 CoursesRight Arrow Icon

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 
Students Ratings & Reviews

4.8/5
Verified Icon13 Ratings
Y
Yash Verma
Mastering Data Structures & Algorithms using C and C++
Offered by UDEMY
5
Learning Experience: It was good course. It taught basics of C++, OOPS, data structures & algorithm. It was easily explained. More number of questions could be solved, DP could be included.
Faculty: The approach of the faculty can greatly impact a student's experience in a course. Some instructors prefer a more lecture-based approach, while others may utilize more interactive and hands-on methods. The quality of lectures can vary, but a good instructor should be knowledgeable and engaging. The amount of practical knowledge imparted in a course will also depend on the subject and instructor. The quality of a student's peer group can also greatly impact their experience, as participation in group discussions and projects is often a key aspect of the course. Course curriculum was good. Course resources typically include lecture slides, readings, videos, and online forums for discussion. The frequency of updates may vary, but instructors generally aim to keep the resources current and relevant. The course structure may consist of weekly lectures, discussion sections, and assignments.
Course Support: knowledge
Reviewed on 5 Feb 2023Read More
Thumbs Up IconThumbs Down Icon
S
Saurabh Patel
Mastering Data Structures & Algorithms using C and C++
Offered by UDEMY
5
Learning Experience: Firstly they teach the concept of data structure and algorithm then after that hands on it in C and C++ language. Explanation of each concept is super. There's no waste of time in it.
Faculty: Faculty knowledge is awesome and the way he explain is superb . Course curriculum is updated. Notes are also provided of each code discuss in the course. Assignment was also there
Reviewed on 28 Jan 2023Read More
Thumbs Up IconThumbs Down Icon
H
HARSHA ANAND
Mastering Data Structures & Algorithms using C and C++
Offered by UDEMY
4
Learning Experience: It was nice learning with Udemy. Prateek Narang is an excellent educator.
Faculty: Prateek Narang, excellent educator. All essential data structures, problems and algorithms
Course Support: Yes
Reviewed on 23 Jul 2022Read More
Thumbs Up IconThumbs Down Icon
P
Peeyush Verma
Mastering Data Structures & Algorithms using C and C++
Offered by UDEMY
4
Learning Experience: Implementation of data structures
Faculty: Faculty name was Abdul Bari . He was very cooperative throughout the course and resolved doubts Course was updated and sequential . Good for beginners
Course Support: No career support provided
Reviewed on 11 Apr 2022Read More
Thumbs Up IconThumbs Down Icon
S
SIDDHESH JITENDRA METKAR
Mastering Data Structures & Algorithms using C and C++
Offered by UDEMY
5
Other: An excellent course on algorithms. It was the core course in our curriculum. One of my friends told me about the course. Soon after I started watching the lectures and completed all course only by watching the videos. I honestly appreciate the instructor's efforts.
Reviewed on 15 Mar 2021Read More
Thumbs Up IconThumbs Down Icon
View All 10 ReviewsRight Arrow Icon
qna

Mastering Data Structures & Algorithms using C and C++
 at 
UDEMY 

Student Forum

chatAnything you would want to ask experts?
Write here...