A data structure is a particular way of organizing data in a system. It helps us to use data more effectively. There are two types of data structures which are mentioned below:
- Linear data structure
- Non-linear data structure
Linear data structure: The elements in linear data structures are arranged in sequence, one after the other. Because of the arrangement of the elements in a particular order, linear data structures are easy to implement.
Non-linear data structure: The elements in non-linear data structures are not in any sequence, unlike linear data structures. They are arranged hierarchically.
There are many types of data structures. Some of the popular data structures are Stacks, Binary Tree, Binary Search Tree, AVL Tree, etc. Data Structure is also an essential topic related to Computer Science Engineering and an important topic for examinations like GATE. Therefore, GATE aspirants need to know every aspect of the data structure.
Stacks Basic Operations and Its Applications
Here, you will find brief information about Stacks. There are several sources on the internet from which detailed information about Stacks can be found for a better understanding of this topic.
A Stack is an abstract type of data, a linear data structure that holds an ordered sequence of elements. A Stack works on the LIFO process (Last In First Out), i.e. the element that was inserted last will be removed first. A Stack works on the LIFO process (Last In First Out), i.e. the element inserted last will be removed first. This strategy of Stack in data structure is similar to a pile of plates kept on top of each other. The plate we put last is on the top since we remove the plate at the top.
Some basic operations on Stacks:
PUSH: PUSH operation inserts a new element into a Stack. Elements in Stacks are always inserted from the topmost position. Therefore, it is important to check whether the top of the Stack is empty. TOP=Max-1 if this condition goes false, it means the Stack is full. A further trial of insertion will show a “Stack overflow message.”
POP: It means to delete an element from the Stack. Before deleting, always check if the Stack Top is NULL, i.e. TOP=NULL. If this condition goes true, it means the Stack is empty. The delete operation won’t be able to perform, and further trials will show the “Stack underflow message.”
Application of the Stack
- It can be used for evaluating expressions consisting of operands and operators.
- Stacks can be used for Backtracking, i.e. to check parenthesis matching in an expression.
Advantages of Stack
- A Stack helps to manage the data in the ‘Last in First out’ method.
- When the variable is not used outside the function in any programme, the Stack can be used.
Disadvantages of Stack
- It has very limited memory.
- In Stack, random access is not possible.
Binary Tree and Binary Search Tree
A Binary Tree is a non-linear data structure in which every element can have 2, 1, or 0 nodes. Every node in this Tree can be either a parent node or a child node. The topmost node is known as the root node. Every parent node may have only two children (child nodes).
They are typically named as:
- the left child/child node
- the right child/child node
The Binary Search Tree or BST is a non-linear type of binary tree data structure. It is also a node-based data structure. It can be utilized for retrieving, sorting, and searching data. It has its nodes arranged in a particular order and is thus also called the Ordered Binary Tree.
Although the Binary Search Tree is a variant of the Binary Tree, they can be differentiated based on several properties. These properties of the Binary Tree and Binary Search Tree are mentioned below.
- Performance of Operations
- Structure
- Types
- Duplicate Values
- Speed
- Hierarchy