Data Structures and Algorithms Tutorials 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 Arrays in Data Structure Matrix in programming 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 Circular linked list Insertion in the circular linked list Deletion in the circular linked list Other types of linked list Merge two linked list Header linked list Sorted linked list Stack Stack in data structure Queue Queue in data structure Circular Queue in Data Structure Dequeue in the data structure Priority Queue in Data Structure Polish notation Tree Tree in the data structure 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 Binary Search tree Binary search tree Insertion in the binary search tree Deletion in the binary search tree Heap Heap in data structures