# Data Structure tutorial

Data structure is logical or mathematical organization of data; it describes how to store the data and access data from memory. Actually in our programming data stored in main memory(RAM) and To develop efficient software or firmware we need to care about memory. To efficiently manage we required data structure.

There are two different types of data structure:

1. Linear Data Structure
2. Non Linear Data Structure

1) Linear Data Structure

In linear data structure data elements stored in sequential manner. Stack, Queue and Linked List are the types of linear data structure.

2) Non Linear Data Structure

In Non-Linear data structure data elements are not stored in the sequence manner. Tree and Graph are the type of non-linear data structure.

## Topics of Data Structure

### TREE

1. Introduction to Trees and its terminologies.
Learn: In this article we are going to study about introduction of trees. What is generalized tree? What are different terminologies of tree? Why we use trees? What are benefits of use of trees?
2. Binary tree, Definition and its properties.
Learn: In this article we are going to study about the basics of binary tree. We study different types of binary tree like complete Binary Tree, Strictly Binary Tree, Extended Binary Tree, And Full Binary Tree? What are the uses of binary tree? How binary tree is different from general tree?
3. Binary Tree representation (Sequential and Link).
Learn: In this article we are going to study about the representation of binary tree. What are the different representations of trees in the memory? What is linked list representation of binary tree? What is sequential representation of binary tree?
4. AVL Tree, Left and right rotations.
Learn: In this article, we are going to learn what is AVL tree? And how to use left and right rotations in an AVL tree?
5. Deletion in Binary Search Tree (BST).
Deletion in Binary Search Tree: Here, we will learn how to delete a Node in Binary Search Tree. In this article you will find algorithm, example in C++.
6. Insertion in Binary Search Tree (BST).
Insertion in Binary Search Tree: Here, we will learn how to insert a Node in Binary Search Tree. In this article you will find algorithm, example in C++.
7. Find Height (Maximum Depth) of a Binary Search Tree (C++ program).
Learn: How to find the height or maximum depth of a binary search tree? This article includes definition, algorithm and implementation in C++ program.
8. Find the Number of Nodes in a Binary Search Tree (C++ program).
Learn: How to find the total number of nodes in a binary search tree using C++ program?

### MISC.

1. Tail Recursion and Tower of Hanoi using C.
Learn: In this article we are going to study about the tail recursion and we are going to deal with the famous problem of tail recursion TOWER OF HANOI.
2. Asymptotic Notations.
Learn: What are Asymptotic Notations? How they are used to express the time complexity of algorithm?