Introduction to Data Structures
- What is an Algorithm
- Why Data Structures
- Stack problem: Evaluate a fully bracketed mathematical expression ((a+b)*c)
- Introduction to Linked List
- Finish implementation of Linked List: Append(), Display(), Insert() and Delete()
- Find if a linked list has a loop (or a cycle)
- Find the average of all numbers in a Linked List
- Implement Stack with Linked List
- Implement Stack using Queues
- Introduction to Doubly Linked List
- Insertion sort : O(n2)
- Linear search in a List (O(n))
- Binary search in a sorted list (O(log(n)))
- Linked List Problem : Find if the Linked List has all unique time
- Study and implement selection sort
- Analyze the complexity of a given algorithm and improve it
- Linked List problem: Reverse the linked list
- Reverse the linked list with recursion
- Introduction to trees: Binary tree, Binary Search Tree
- Tree Traversals: In-Order, Post-Order and Pre-Order
- Tree Problem: Find the depth of the tree
- Introduction to Graphs : Data structures for graph
- Post-Order traversal without recursion (use Stacks)
- Level-wise traversal without recursion (use Queues)