Data Structure
Data Structure
• Read
• Discuss
• Courses
• Practice
• Video
It can hold value but not data. It can hold multiple types of data within a
Therefore, it is dataless. single object.
Data type examples are int, float, Data structure examples are stack, queue,
double, etc. tree, etc.
Arrays:
An array is a linear data structure and it is a collection of items stored at
contiguous memory locations. The idea is to store multiple items of the same
type together in one place. It allows the processing of a large amount of data
in a relatively short period. The first element of the array is indexed by a
subscript of 0. There are different operations possible in an array, like
Searching, Sorting, Inserting, Traversing, Reversing, and Deleting.
Array
Characteristics of an Array:
An array has various characteristics which are as follows:
• Arrays use an index-based data structure which helps to identify
each of the elements in an array easily using the index.
• If a user wants to store multiple values of the same data type, then
the array can be utilized efficiently.
• An array can also handle complex data structures by storing data in
a two-dimensional array.
• An array is also used to implement other data structures like
Stacks, Queues, Heaps, Hash tables, etc.
• The search process in an array can be done very easily.
Applications of Array:
Different applications of an array are as follows:
• An array is used in solving matrix problems.
• Database records are also implemented by an array.
• It helps in implementing a sorting algorithm.
• It is also used to implement other data structures like Stacks,
Queues, Heaps, Hash tables, etc.
• An array can be used for CPU scheduling.
• Can be applied as a lookup table in computers.
• Arrays can be used in speech processing where every speech signal
is an array.
• The screen of the computer is also displayed by an array. Here we
use a multidimensional array.
• The array is used in many management systems like a library,
students, parliament, etc.
• The array is used in the online ticket booking system. Contacts on a
cell phone are displayed by this array.
• In games like online chess, where the player can store his past
moves as well as current moves. It indicates a hint of position.
• To save images in a specific dimension in the android Like 360*1200
Linked List
Characteristics of a Stack:
Stack has various different characteristics which are as follows:
• Stack is used in many different algorithms like Tower of Hanoi, tree
traversal, recursion, etc.
• Stack is implemented through an array or linked list.
• It follows the Last In First Out operation i.e., an element that is
inserted first will pop in last and vice versa.
• The insertion and deletion are performed at one end i.e. from the
top of the stack.
• In stack, if the allocated space for the stack is full, and still anyone
attempts to add more elements, it will lead to stack overflow.
Applications of Stack:
Different applications of Stack are as follows:
• The stack data structure is used in the evaluation and conversion of
arithmetic expressions.
• Stack is used in Recursion.
• It is used for parenthesis checking.
• While reversing a string, the stack is used as well.
• Stack is used in memory management.
• It is also used for processing function calls.
• The stack is used to convert expressions from infix to postfix.
• The stack is used to perform undo as well as redo operations in
word processors.
• The stack is used in virtual machines like JVM.
• The stack is used in the media players. Useful to play the next and
previous song.
• The stack is used in recursion operations.
Characteristics of a Queue:
The queue has various different characteristics which are as follows:
• The queue is a FIFO (First In First Out) structure.
• To remove the last element of the Queue, all the elements inserted
before the new element in the queue must be removed.
• A queue is an ordered list of elements of similar data types.
Applications of Queue:
Different applications of Queue are as follows:
• Queue is used for handling website traffic.
• It helps to maintain the playlist in media players.
• Queue is used in operating systems for handling interrupts.
• It helps in serving requests on a single shared resource, like a
printer, CPU task scheduling, etc.
• It is used in the asynchronous transfer of data e.g. pipes, file IO,
and sockets.
• Queues are used for job scheduling in the operating system.
• In social media to upload multiple photos or videos queue is used.
• To send an e-mail queue data structure is used.
• To handle website traffic at a time queues are used.
• In Windows operating system, to switch multiple applications.
Real-Life Applications of Queue:
• A real-world example of a queue is a single-lane one-way road,
where the vehicle that enters first will exit first.
• A more real-world example can be seen in the queue at the ticket
windows.
• A cashier line in a store is also an example of a queue.
• People on an escalator
Want to get started with Queue? You can try out our curated articles and lists
for the best practice:
• Introduction to Queue Data Structure
• Practice Queue problem on GeeksforGeeks
Tree:
A tree is a non-linear and hierarchal data structure where the elements are
arranged in a tree-like structure. In a tree, the topmost node is called the root
node. Each node contains some data, and data can be of any type. It
consists of a central node, structural nodes, and sub-nodes which are
connected via edges. Different tree data structures allow quicker and easier
access to the data as it is a non-linear data structure. A tree has various
terminologies like Node, Root, Edge, Height of a tree, Degree of a tree, etc.
There are different types of Tree-like
• Binary Tree,
• Binary Search Tree,
• AVL Tree,
• B-Tree, etc.
Tree
Characteristics of a Tree:
The tree has various different characteristics which are as follows:
• A tree is also known as a Recursive data structure.
• In a tree, the Height of the root can be defined as the longest path
from the root node to the leaf node.
• In a tree, one can also calculate the depth from the top to any node.
The root node has a depth of 0.
Applications of Tree:
Different applications of Tree are as follows:
• Heap is a tree data structure that is implemented using arrays and
used to implement priority queues.
• B-Tree and B+ Tree are used to implement indexing in databases.
• Syntax Tree helps in scanning, parsing, generation of code, and
evaluation of arithmetic expressions in Compiler design.
• K-D Tree is a space partitioning tree used to organize points in K-
dimensional space.
• Spanning trees are used in routers in computer networks.
Real-Life Applications of Tree:
• In real life, tree data structure helps in Game Development.
• It also helps in indexing in databases.
• A Decision Tree is an efficient machine-learning tool, commonly
used in decision analysis. It has a flowchart-like structure that helps
to understand data.
• Domain Name Server also uses a tree data structure.
• The most common use case of a tree is any social networking site.
Want to get started with Tree? You can try out our curated articles and lists
for the best practice:
• Introduction to Tree Data Structure
• Top 50 Tree Interview Questions
• Practice Tree problem on GeeksforGeeks
Graph:
A graph is a non-linear data structure that consists of vertices (or nodes) and
edges. It consists of a finite set of vertices and set of edges that connect a
pair of nodes. The graph is used to solve the most challenging and complex
programming problems. It has different terminologies which are Path,
Degree, Adjacent vertices, Connected components, etc.
Graph
Characteristics of Graph:
The graph has various different characteristics which are as follows:
• The maximum distance from a vertex to all the other vertices is
considered the Eccentricity of that vertex.
• The vertex having minimum Eccentricity is considered the central
point of the graph.
• The minimum value of Eccentricity from all vertices is considered
the radius of a connected graph.
Applications of Graph:
Different applications of Graphs are as follows:
• The graph is used to represent the flow of computation.
• It is used in modeling graphs.
• The operating system uses Resource Allocation Graph.
• Also used in the World Wide Web where the web pages represent
the nodes.
Real-Life Applications of Graph:
• One of the most common real-world examples of a graph is Google
Maps where cities are located as vertices and paths connecting
those vertices are located as edges of the graph.
• A social network is also one real-world example of a graph where
every person on the network is a node, and all of their friendships
on the network are the edges of the graph.
• A graph is also used to study molecules in physics and chemistry.
Want to get started with Graph? You can try out our curated articles and lists
for the best practice:
• Introduction to Graph Data Structure
• Top 50 Graph Interview Questions
• Practice Graph problem on GeeksforGeeks
Conclusion
Although these are the most widely known and used data structures, there
are some other forms of data structures as well which are used in Computer
Science, such as policy-based data structures, etc. But no matter which data
structure you choose, each one has its perks and disadvantages, without the
knowledge of which, it can be very costly to choose the wrong type of data
structure. So it is very important to understand the need of the situation, and
then decide which kind of data structure suits best for the job.