Mastering Data Structures & Algorithms using C and C++
Learn, Analyse and Implement Data Structure using C and C++. Learn Recursion and Sorting.
Learn, Analyse and Implement Data Structure using C and C++. Learn Recursion and Sorting.
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
FAQ area empty
Arrays Basics
383 Xem trướcPractice : Arrays Basics
817Structures
1106 Xem trướcPractice : Structures
649Pointers
661Practice : Pointers
881Reference in C++
236 Xem trướcPractice : Reference
315 Xem trướcPointer to Structure
363 Xem trướcPractice : Pointer to Structure
404Functions
739Practice : Functions
337Parameter Passing Methods
843Practice : Parameter Passing Methods
680Array as Parameter
447Practice : Array as Parameter
815Structure as Parameter
632Practice : Structure as Parameter
665Structures and Functions (Must Watch)
315Converting a C program to a C++ class (Must Watch)
568Practice : Monolithic Program
290Practice : Modular Program
310Practice : Structure and Functions
309Practice : Object-Oriented Program
376C++ Class and Constructor
592Practice : C++ Class
335Template classes
649Practice : Template Class
617How Recursion Works ( Tracing )
1144Generalising Recursion
127How Recursion uses Stack
647Recurrence Relation - Time Complexity of Recursion
667Lets Code Recursion
693Static and Global Variables in Recursion
509Let's Code Static and Global in Recursion
421Tail Recursion
441Head Recursion
294Tree Recursion
1047Let's Code Tree Recursion
336Indirect Recursion
278Let's Code Indirect Recursion
190Nested Recursion
425Let's Code Nested Recursion
149Sum of Natural Number using Recursion
621Let's Code Sum of N using Recursion
269Factorial using Recursion
280Let's Code Factorial using Recursion
298Power using Recursion
819Let's Code Power Recursion
209Taylor Series using Recursion
858Let's Code Taylor Series using Recursion
231Taylor Series using Horner's Rule
658Let's Code Taylor Series Horner's Rule - Recursion
129Let's Code Taylor Series Iterative
122Fibonacci Series using Recursion - Memoization
1173Let's Code Fibonacci
776NCr using Recursion
564Let's Code nCr using Recursion
290Tower of Hanoi Problem
1572Let's Code Tower of Hanoi
218Recursion
Quiz 1 Solutions
1870Introduction to Array
251Declarations of Array
369Demo - Array Declaration
294Static vs Dynamic Arrays
527Demo - Static vs Dynamic Array
281How to Increase Array Size
309Demo - Increasing Array Size
4662D Arrays
637Demo - 2D Array
406Array Representation by Compiler
523Row Major Formula for 2D Arrays
577Column Major Formula for 2D Arrays
390Formulas for nD Arrays
670Formulas for 3D Arrays
217Arrays Representation
Solutions for Quiz 2
905Array ADT
274Demo - Array ADT
783Inserting in an Array
664Let's Code Insert
409Deleting from Array
388Let's Code Delete
346Linear Search
691Improving Linear Search
258Let's Code Linear Search
386Binary Search
598Binary Search Algorithm
427Let's Code Binary Search
418Analysis of Binary Search
766Average Case Analysis of Binary Search
685Get( ) Set( ) Avg( ) Max( ) functions on Array
874Let's Code Get() Set() Max() on Array
536Reverse and Shift an Array
667Lest's Code Reversing an Array
337Check if Array is Sorted
945Let's Code to check if Array is Sorted
637Merging Arrays
529Let's Code to Merge Arrays
473Set operations on Array - Union, Intersection and Difference
721Let's Code Set operations on Array
563Let's Code a Menu Driver program for Arrays
448Let's convert C program for Array to C++
942Let's Put all together in C++ program for Array
1008Student Challenge : Finding Single Missing Element in an Array
659Student Challenge : Finding Multiple Missing Elements in an Array
485Student Challenge : Finding Missing Element in an Array Method 2
483Student Challenge Finding Duplicates in a Sorted Array
773Student Challenge : Finding Duplicates in Sorted Array using Hashing
449Student Challenge : Finding Duplicates in a Unsorted Array
792Student Challenge : Finding a Pair of Elements with sum K
783Student Challenge : Finding a Pair of Elements with sum K in Sorted Array
455Student Challenge : Finding Max and Min in a single Scan
541Array ADT
Solutions for Quiz 3
775Introduction to Strings
1284Finding Length of a String
279Changing Case of a String
483Counting Words and Vowels in a String
535Validating a String
362Reversing a String
524Comparing Strings and Checking Palindrome
662Finding Duplicates in a String
774Finding Duplicates in a String using Bitwise Operations
1509Checking if 2 Strings are Anagram (distinct letters)
818Permutation of String
1891Section Introduction
59Diagonal Matrix
520Let's Code Diagonal Matrix
466C++ class for Diagonal Matrix
822Let's Code C++ class for Diagonal matrix
423Lower Triangular Matrix Row-Major Mapping
566Lower Triangular Matrix Column-Major Mapping
397Let's Code Lower Triangular Matrix in C
768Let's Code Lower Triangular Matrix in C++
585Upper Triangular Matrix Row-Major Mapping
406Upper Triangular Matrix Column-Major Mapping
201Symmetric Matrix
152Tri-Diagonal and Tri-Band Matrix
581Toeplitz Matrix
435Menu Driven Program for Matrices
897Menu Driven Program for Matrices using Functions
293How to Write C++ Classes for All Matrices
716Matrices
Sparse Matrix Representation
526Addition of Sparse Matrices
557Array Representation of Sparse Matrix
681Let's Code to Create Sparse Matrix
625Program for Adding Sparse Matrix
920Let's Code to Add Sparse Matrix
812Let's Code Sparse Matrix using C++
549Let's Code Sparse Matrix using C++ Continued.....
876Polynomial Representation
625Polynomial Evaluation
244Polynomial Addition
538Let's Code Polynomial
1043Why we need Dynamic Data Structure Linked List
556About Linked List
597More About Linked List
472Display Linked List
341Let's Code Display for Linked List
618Recursive Display of Linked List
826Let's Code Recursive Display for Linked List
231Counting Nodes in a Linked List
633Sum of All Elements in a Linked List
239Let's Code Count and Sum
439Maximum Element in a Linked List
382Let's Code Max for Linked List
211Searching in a Linked List
277Improve Searching in Linked List
508Let's Code Searching in Linked List
478Inserting in a Linked List
995Let's Code Insert for Linked List
394Creating a Linked List using Insert
143Creating a Linked List by Inserting at Last
423Inserting in a Sorted Linked List
418Let's Code Insert in Sorted Linked List
346Deleting from Linked List
724Let's Code Delete on Linked List
364Check if a Linked List is Sorted
494Let's Code to check if Linked List is Sorted
158Remove Duplicates from Sorted Linked List
360Let's Code to Remove Duplicates from Sorted Linked List
165Reversing a Linked List
410Reversing using Sliding Pointers
626Recursive Reverse for Linked List
258Let's Code Reversing a Linked List
396Concatenating 2 Linked Lists
184Merging 2 Linked Lists
863Let's Code to Concatenate and Merge Linked Lists
516Check for LOOP in Linked List
556Let's Code to Check LOOP
249Let's Code a C++ class for Linked List
401Circular Linked List
415Display Circular Linked List
509Let’s Code Circular Linked List
426Inserting in a Circular Linked List
621Let's Code Insert for a Circular Linked List
356Deleting From Circular Linked List
395Let's Code Delete for Circular Linked List
297Doubly Linked List
252Let's Code Doubly Linked List
326Insert in a Doubly Linked List
566Let's Code Insert for Doubly Linked List
254Deleting from Doubly Linked List
489Let's Code Delete for Doubly Linked List
254Reverse a Doubly Linked List
327Let's Code Reverse for Doubly Linked List
140Circular Doubly Linked List
441Comparison of Linked List
669Comparison of Array with Linked List
653Student Challenge : Finding Middle Element of a Linked List.
627Student Challenge : Finding Intersecting point of Two Linked List
531Linked List
Introduction to Stack
731Stack using Array
592Implementation os Stack using Array
1012Let's Code Stack using Array
761Stack using Linked List
320Stack Operations using Linked List
532Let's Code Stack using Linked List
442Let's Code C++ class for Stack using Linked List
369Parenthesis Matching
399Program for Parenthesis Matching
497Let's Code Parenthesis Matching
254More on Parenthesis Matching
387Infix to Postfix Conversion
1055Associativity and Unary Operators
796Infix to Postfix using Stack Method 1
425Infix to Postfix using Stack Method 2
200Program for Infix to Postfix Conversion
513Let's Code Infix to Postfix Conversion
540Student Challenge: Infix to Postfix with Associativity and Parenthesis
570Evaluation of Postfix Expression
599Program for Evaluation of Postfix
470Let's Code Evaluation of Postfix
309Stack
Queue ADT
272Queue using Single Pointer
226Queue using Two Pointers
465Implementing Queue using Array
519Let's Code Queue using Array
394Let's Code Queue in C++
356Drawback of Queue using Array
270Circular Queue
653Let's Code Circular Queue
193Queue using Linked List
462Let's Code Queue using Linked List
329Double Ended Queue DEQUEUE
308Priority Queues
675Queue using 2 Stacks
403Queue
Terminology
683Number of Binary Trees using N Nodes
751Height vs Nodes in Binary Tree
766Internal Nodes vs External Nodes in Binary Tree
200Strict Binary Tree
141Height vs Node of Strict Binary Tree
234Internal vs External Nodes of Strict Binary Trees
85N-ary Trees
370Analysis of n-Ary Trees
495Representation of Binary Tree
319Linked Representation of Binary Tree
209Full vs Complete Binary Tree
357Strict vs Complete Binary Tree
253Binary Tree Traversals
541Binary Tree Traversal Easy Method 1
169Binary Tree Traversal Easy Method 2
204Binary Tree Traversal Easy Method 3
263Creating Binary Tree
469Program to Create Binary Tree
252Let's Code Creating Binary Tree
796Let's Code Creating Binary Tree in C++
1414Preorder Tree Traversal
770Inorder Tree Traversals Functions
600Iterative Preorder
580Iterative Inorder
559Let's Code Iterative Traversals
328Level Order Traversal
381Let's Code Level Order Traversal
220Can we Generate Tree from Traversals
388Generating Tree from Traversals
434Height and Count of Binary Tree
569Let's Code Height and Count
195Student Challenge : Count Leaf Nodes of a Binary Tree
632Binary Trees
BST intro
322Searching in a Binary Search Tree
595Inserting in a Binary Search Tree
398Recursive Insert in Binary Search Tree
399Creating a Binary Search Tree
167Let's code Binary Search Tree
839Deleting from Binary Search Tree
607Let's Code Recursive Insert and Delete on BST
1158Generating BST from Preorder
537Program for Generating BST from Preorder
376Drawbacks of Binary Search Tree
279Binary Search Trees
Criteria used for Analysing Sorts
514Bubble Sort
1209Let's Code Bubble Sort
389Insertion Sort
363Insertion Sort Continued....
545Program for Insertion Sort
305Analysis of Insertion Sort
262Let's Code Insertion Sort
154Comparing Bubble and Insertion Sort
161Selection Sort
668Program for Selection Sort
161Analysis of Selection Sort
189Let's Code Selection Sort
145Idea behind Quick Sort
396Quick Sort
503Analysis of Quick Sort
612Analysis of Quick Sort Continued.....
752Let's Code Quick Sort
393Merging
1028Iterative Merge Sort
688Let's Code Iterative Merge Sort
461Recursive Merge Sort
1081Let's Code Recursive Merge Sort
167Count Sort
721Let's Code Count Sort
386Bin / Bucket Sort
610Radix Sort
861Shell Sort
1279Let's Code Shell Sort
186What are Recurrence Relations ?
91Decreasing Function T(n)=T(n-1)+1
1070RR - T(n)=T(n-1)+n
876RR - T(n)=2T(n-1)+1
619Master Theorem for Decreasing Function
721Dividing Function T(n)=T(n/2)+1
671RR - T(n)=T(n/2)+n
691RR - T(n)=2T(n/2)+1
592RR - T(n)=2T(n/2)+n
548RR - T(n)=2T(n/2)+n2
582Master Theorem for Dividing Functions
1022Recurrence Relation for Root Functions
616Master Theorem for Root Functions
671What are Optimization Problems ?
691Greedy Method - Introduction
555Knapsack Problem - Fractional
1831Knapsack Algorithm
884Minimum Cost Spanning Tree - Introduction
670Kruskal's Method - MST
737Kruskal's Algorithm
1794Prim's Method - MST
658Prim's Algorithm
2207Dijkstra - Single Source Shortest Path
1431Dijkstra Algorithm
1370Optimal Merge Pattern
1211Dynamic Programming - Introduction
1047Recursion and Dynamic Programming
5360/1 Knapsack Problem
7210/1 Knapsack using Sets Method
18630/1 Knapsack using Recursion
17490/1 Knapsack using Memoization
12630/1 Knapsack using Tabulation
1760Matrix Chain Multiplication - Introduction
992Matrix Chain Multiplication using Recursion
1698Matrix Chain Multiplication using Memoization
1176Matrix Chain Multiplication using Tabulation
1447Longest Common Subsequence
682LCS - Recursion
1235LCS - Memoization
732LCS - Tabulation
1254Max Subarray Sum
1124Max Subarray Sum - Improvement
289Max Subarray Sum using DP
940Kadane's Max Subarray Sum
650Max Subarray Sum using Divide and Conquer
923Recursion - BruteForce - Backtracking - What is What
1053Backtracking - Introduction
1808N-Queens Problem - Introduction
640N-Queens Problem - Solution
1092N-Queens Algorithm
1319Permutation Problem
1372Permutation Problem - Bounding Function
769Rat in Maze Problem
1555Sudoku Solver
1858PDF for All Programs
Previous knowledge of Programming in C and C++
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++