### Course Curriculum

- 1. Arrays
- Why arrays are required?
- Arrays Introduction and One Dimensional Arrays
- Code : One Dimensional Arrays Implementation
- Two Dimensional Arrays Introduction
- Row Major Order – 1
- Row Major Order – 2
- Code : Two Dimentional Array – Row Major Order
- Column Major Order – 1
- Column Major Order – 2
- Lower Triangular Matrix
- Tridiagonal Matrix
- Toeplitz Matrix

- 2. Stacks
- Code : Stacks Implementation using Arrays : Push(), Pop(), TopOfStack().
- Associativity and Precedence
- Converting to Prefix and Postfix notation from Infix
- Writing Recursive Code
- Evaluation of Recursive code by using Recursive Tree
- Example 1 : Recursive code Evaluation by using Recursive Tree
- Constructing Recursive Tree
- Example 2 : Recursive code Evaluation by using Recursive Tree
- Printing Array Elements using Recursion
- Finding Time Complexity from Recursive Equation by using Substitution Method
- Recursive code for Multiplication and Division
- Time Complexity for Fibonacci Series using Recursive Tree
- Finding Time Complexity from Recursive Equation by using Substitution Method
- Finding Time Complexity from Recursive Equation by using Substitution Method

- 3. Queues
- 4. Linked Lists
- Single Linked List Introduction and Structure Creation
- Single Linked List : Node Creation Physically in Memory
- Single Linked List : Insertion – Beginning
- Single Linked List : Insertion – Ending
- Single Linked List : Insertion – Middle
- Single Linked List : Deletion – Beginning and Ending
- Single Linked List : Deletion – Middle
- Single Linked List : Traversing
- Single Linked List : Reversing
- Question 1 : Single Linked List
- Double Linked List : Introduction and Node Definition.
- Double Linked List : Node Creation
- Double Linked List : Insertion – Beginning
- Double Linked List : Insertion – Ending
- Double Linked List : Insertion – Middle
- Double Linked List : Deletion – Beginning
- Double Linked List : Deletion – Ending
- Double Linked List : Deletion – Middle
- Stack Implementation using Linked List
- Queue Implementation using Linked List
- Linked Lists nodes count – with loops
- Linked Lists nodes count – with Recursion

- 5. Binary Trees
- Binary Trees : Introduction
- Binary Trees : Traversing Basic
- Binary Trees : Traversing Technique – PREorder, INorder, POSTorder.
- Binary Trees : Traversing Techniques – PREorder Recursive Code
- Binary Trees : Traversing Techniques – INorder and POSTorder Recursive Codes
- Binary Trees : Creating Binary Trees from PREorder and INorder.
- Binary Trees : Creating Binary Trees from POSTorder and INorder.
- Binary Trees : Arithmetic Expression Trees
- Binary Trees : Arithmetic Expression Trees – Example

- 5.1 Binary Search Trees
- 5.2 Heaps
- 6. AVL Trees
- 6.1 2ary Tree, Full Binary Tree, Complete Binary Tree - Properties.
- 7. graphs

## 1 Comment

The course was great. Great part of his course is every concept explaining in all possible directions. Always starting from very basic and going very deep as much as possible. Most part of the material was complex and instructor found a way to explain it clearly. A lot of examples were provided were discussed for every concept.

Highly recommended course!