- Introduction to the course.
- 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.
- 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
- 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.
- 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.
- 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
- 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
- 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.
- Introduction to Circular Linked List.
- Insert operation for Circular Linked List.
- Delete Node operation.
- Developing find and print operation.