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