## Basic Algorithms

- What is Algorithm
- What are Data Structures and algorithms?
- Algorithm design and analysis
- Classification of algorithms
- Evaluating and Expressing an algorithm
- How to calculate the running time of an algorithm.
- Worst Average and Best-case analysis of the algorithm.
- Big o notation
- Big o notation examples
- Complexity of algorithm

## Array

## Sorting Techniques

- Sorting Techniques in data structure
- Selection sorting in c programming
- Bubble sorting in c programming
- Insertion sorting in c programming
- Shell sorting in c programming
- Merge sorting in c programming
- Radix sorting in c programming
- Quick sorting in c programming
- Heap sorting in c programming

## Linked List

- Linked List in Data Structure
- Traversing in Linked list
- Operations on the linked list
- Insertion in the linked list
- Deletion in a linked list
- Reversing a linked list
- Sorting a linked list
- Find and remove the loop in the linked list

## Doubly Linked List

- Doubly linked list
- Insertion in the doubly linked list
- Deletion in the doubly linked list
- Reversing a doubly linked list

## Circular Linked list

### Other types of linked list

## Stack

## Queue

- Queue in data structure
- Circular Queue in Data Structure
- Dequeue in the data structure
- Priority Queue in Data Structure
- Polish notation

## Tree

## Binary Tree

- Binary tree
- Array representation of the binary tree
- linked representation of a binary tree
- Traversing in the binary tree
- Inorder traversal in the binary tree
- Preorder traversal in the binary tree
- Postorder traversal in the binary tree
- Level order traversal in the binary tree