4.63 out of 5
4.63
13431 reviews on Udemy

# Mastering Data Structures & Algorithms using C and C++

Learn, Analyse and Implement Data Structure using C and C++. Learn Recursion and Sorting.
Instructor:
Abdul Bari
47,035 students enrolled
English [Auto]
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++

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

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

5. Stack

6. Queues

7. Trees

8. Binary Search Tree

9. AVL Trees

10. Graphs

11. Hashing Technique

### Before we Start

1
Instructor's Note
2
Introduction

### Essential C and C++ Concepts

1
Arrays Basics
2
Practice : Arrays Basics
3
Structures
4
Practice : Structures
5
Pointers
6
Practice : Pointers
7
Reference in C++
8
Practice : Reference
9
Pointer to Structure
10
Practice : Pointer to Structure
11
Functions
12
Practice : Functions
13
Parameter Passing Methods
14
Practice : Parameter Passing Methods
15
Array as Parameter
16
Practice : Array as Parameter
17
Structure as Parameter
18
Practice : Structure as Parameter
19
Structures and Functions (Must Watch)
20
Converting a C program to a C++ class (Must Watch)
21
Practice : Monolithic Program
22
Practice : Modular Program
23
Practice : Structure and Functions
24
Practice : Object-Oriented Program
25
C++ Class and Constructor
26
Practice : C++ Class
27
Template classes
28
Practice : Template Class

### Required Setup for Programming

1
Setup Dev-C++ and Settings
2
Setup CodeBlocks and Settings
3
Debugging using Dev-C++
4
Debugging using CodeBlocks
5
Setup Visual Studio
6
Debugging using Visual Studio
7
Setup Xcode

### Introduction

1
Introduction

Learn What are Data Structures.

Comparing

1. Data Structure

2. Database

3. Datawarehouse

4. Big Data

2
Stack vs Heap Memory

Learn How program uses Main Memory. How program uses sections of Memory

3
Stack vs Heap. Continued...

Learn How function uses Stack, how memory is allocated when the function is called.

Learn how Heap is used with the help of Pointers

4
Physical vs Logical Data Structures

Difference between Physical and Logical Data Structures

Physical : Array and Linked List

Logical : Stack,Queues, Trees, Graphs, Hashtables

5

Learn what does it mean by Abstract Datatypes

6
Time and Space Complexity

Learn How to Analyse Time and Space of any Algorithm on Data Structures, based on working of Algorithm

7
Time and Space Complexity from Code

Learn How to Analyse based on Code of Algorithm

### Recursion

1
How Recursion Works ( Tracing )

Learn how to trace a Recursion

2
Generalising Recursion

General form of Recursion and its phases

1. Ascending Phase

2. Descending Phase

3
How Recursion uses Stack

Learn how Recursion uses Stack

4
Recurrence Relation - Time Complexity of Recursion

Learn how to find the Time complexity of Recursion using Recurrence Relation

5
Lets Code Recursion
6
Static and Global Variables in Recursion

Learn how Static and Global variables are used in Recursion

7
Let's Code Static and Global in Recursion
8
Tail Recursion

Learn What does it mean by Tail Recursion, a recursion processing at calling time

9

Learn what does it mean by Head Recursion, a recursion processing at returning time

10
Tree Recursion

Learn Tree Recursion, a Recursion calling itself more than one time

11
Let's Code Tree Recursion
12
Indirect Recursion

Learn Indirect Recursion. two or more functions calling each other recursively.

13
Let's Code Indirect Recursion
14
Nested Recursion

Learn Nested Recursion. a Function call is passed as parameter to itself.

15
Let's Code Nested Recursion
16
Sum of Natural Number using Recursion

Finding Sum of first n natural numbers using Recursion and Iteration

17
Let's Code Sum of N using Recursion
18
Factorial using Recursion

Finding Factorial using Recursion.

19
Let's Code Factorial using Recursion
20
Power using Recursion

Finding Power using Recursion and computing using less number of multiplications

21
Let's Code Power Recursion
22
Taylor Series using Recursion

Recursive function for Taylor Series using Static variables

23
Let's Code Taylor Series using Recursion
24
Taylor Series using Horner's Rule

Apply Horner's Rule to reduce number of multiplications in Taylor Series.

25
Let's Code Taylor Series Horner's Rule - Recursion
26
Let's Code Taylor Series Iterative
27
Fibonacci Series using Recursion - Memoization

Learn about Fibonacci Series.

1. Iterative method for Fibonacci Series.

2. Recursive Method.

3. Using Memoization

28
Let's Code Fibonacci
29
nCr using Recursion

Learn how to devise a Recursive function for nCr formula using Pascals Triangle

30
Let's Code nCr using Recursion
31
Tower of Hanoi Problem

Devising a Recursive function for Tower of Hanoi

32
Let's Code Tower of Hanoi
33
Recursion
34
Quiz 1 Solutions

### Arrays Representations

1
Introduction to Array

1. What is an Array

2. Declaring and Initialising Array

3. Accessing Elements of an Array

2
Declarations of Array
3
Demo - Array Declaration
4
Static vs Dynamic Arrays

Learn how to create Array in Stack and Heap.

5
Demo - Static vs Dynamic Array
6
How to Increase Array Size

How to change Size of an Array

7
Demo - Increasing Array Size
8
2D Arrays

Learn various methods of creating 2D Array

9
Demo - 2D Array
10
Array Representation by Compiler

How Compiler manage Arrays, How compilers use Relative addresses

11
Row Major Formula for 2D Arrays

Learn how Compilers use Relative address for Representing 2D arrays

12
Column Major Formula for 2D Arrays

Learn how Compilers use Relative address for Representing 2D arrays

13
Formulas for nD Arrays

Learn how Compilers use Relative address for Representing nD arrays

14
Formulas for 3D Arrays

Learn how Compilers use Relative address for Representing 3D arrays

15
Arrays Representation
16
Solutions for Quiz 2
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6
4.6 out of 5
13431 Ratings

#### Detailed Rating

 Stars 5 8388 Stars 4 4076 Stars 3 854 Stars 2 95 Stars 1 82
30-Day Money-Back Guarantee

#### Includes

59 hours on-demand video
1 article