Introduction to the course.
  • Introduction to the course.
All about Stack
  • Introduction of Stack
  • Basic understanding of Stack.
  • Some practical example where Stack is used.
  • Basic Algorithm for Stack data structure.
  • Test your understanding on Stack operations
  • Implementation of Stack.
  • Some more explanations about the use of Pointers
  • Building a menu for the implementation.
  • Make the Stack dynamic.
  • Make the stack more dynamic.
  • Stack In Action - Decimal to binary conversion
  • Stack In Action - Reversing the content of a text file.
Step-by-step developing a parenthesis checking program using Stack.
  • Understanding the problem.
  • Developing the algorithm for bracket checking.
  • The explanation of the algorithm that we develop for parenthesis checking.
  • Implementation of parenthesis checking program - Part 1
  • Implementation of parenthesis checking program - Part 2
Polish notation and Reverse Polish Notation.
  • Introduction to Polish Notation
  • Polish Notations
  • Understanding precedence of operators, conversion idea - infix to prefix/postfix
  • Polish Notations, converting infix to prefix or postfix.
  • How to evaluate Polish or Reverse Polish Notations.
  • Algorithm for evaluating Postfix expression.
  • Evaluating prefix and postfix expression
  • Implementing evaluation of Postfix expression with C Programming language.
  • Discussion on how to convert Infix to Postfix.
  • Infix to Postfix conversion - More examples with procedure
  • Elaboration of the procedure that converts infix to postfix.
  • Writing the algorithm for converting Infix expression to equivalent Postfix.
  • Converting infix to postfix - the precedence checking
  • Dry running the Algorithm for converting Infix to Postfix.
  • Starting the implementation, lets first develop the precedence checker function.
  • Writing the C function for converting Infix to Postfix.
  • Combine the conversion and evaluation function in a single program.
All about Queue
  • Introduction to Queue
  • Basic understanding of Queue
  • The FIFO queue implementation idea using Array - Understanding with animation.
  • Algorithm for FIFO Queue.
  • FIFO Queue Algorithm understanding
  • Dry run the FIFO queue algorithm.
  • Implementation of FIFO Queue.
  • Stack and Queue operations
  • A menu for the Queue program.
  • The loophole in our implementation of FIFO Queue.
  • Understanding the loophole, why that happened?
  • Flaw in the implementation of FIFO Queue
  • Introduction to Circular Queue.
  • Circular queue operations. How to perform enqueue and dequeue operations.
  • Moving rear and front in Circular Queue
  • Algorithm for Circular Queue operations.
  • Dry run Circular Queue operations using the algorithm.
  • Implementation of Circular Queue.
  • Introduction to Double Ended Queue
  • Algorithm development for Double Ended Queue operations.
  • Dry run of the DEQ algorithm.
  • Implementation of Double Ended Queue.
Linked List
  • Introduction to Linked List.
  • Definition of Linked List, conception of Node, understanding basic terminologies
  • Categories of Linked List - Singly, Doubly and Circular Linked List.
  • LinkedList Introduction
Singly Linked List
  • Understanding the 'struct' type we need for implementing singly linked list.
  • The Singly Linked List operations - starting the program.
  • Developing Insert At Tail operation - Add a new node as last node.
  • Implementing Insert at Head - Add a new node as the first node.
  • Traversing the linked list - printing the content of each node.
  • Printing the detail of each node of the linked list.
  • Compiling and executing the program written so far.
  • Practice for Singly Linked List
  • Developing find operation - to search for a target in the linked list.
  • Load data from file and build the linked list.
  • Creating Linked List from randomly generated integer numbers.
  • Delete first operation to delete the first node.
  • Delete last operation to delete the last node.
  • Delete a node that contain a target data.
  • Reverse the linked list.
  • Traverse the singly linked list recursively.
  • Implementation of Stack using singly linked list.
  • Implementation of Queue using Linked List
Doubly Linked List
  • Introduction to Doubly Linked List.
  • Starting the program to implement various operations for Doubly Linked List.
  • Implementation of Add First method to add a new node as the first node.
  • AddLast implementation to add a new node as the last node.
  • Find and Insert After and Insert Before operation.
  • Deleting a node - delete first, delete last and delete a target.
  • Double Ended Queue using doubly linked list.
Circular Linked List.
  • Introduction to Circular Linked List.
  • Insert operation for Circular Linked List.
  • Delete Node operation.
  • Developing find and print operation.
Efficiency of Algorithm