0% found this document useful (0 votes)
4 views9 pages

DS-Introduction To Data Structure

Uploaded by

rizuljain22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views9 pages

DS-Introduction To Data Structure

Uploaded by

rizuljain22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

What is Data Structure?

A data structure is a storage that is used to store and organize data. It is a way of
arranging data on a computer so that it can be accessed and updated efficiently.

A data structure is not only used for organizing the data. It is also used for processing,
retrieving, and storing data. There are different basic and advanced types of data
structures that are used in almost every program or software system that has been
developed.

Data structures are an integral part of computers used for the arrangement of data in
memory. They are essential and responsible for organizing, processing, accessing, and
storing data efficiently. But this is not all. Various types of data structures have their
characteristics, features, applications, advantages, and disadvantages.

Classification of Data Structure:


Data structure has many different uses in our daily life. There are many different data
structures that are used to solve different mathematical and logical problems. By using
data structure, one can organize and process a very large amount of data in a relatively
short period. Let’s look at different data structures that are used in different situations.

Classification of Data Structure

• Linear data structure: Data structure in which data elements are arranged
sequentially or linearly, where each element is attached to its previous and next
adjacent elements, is called a linear data structure.
Examples of linear data structures are array, stack, queue, linked list, etc.

o Static data structure: Static data structure has a fixed memory size. It is
easier to access the elements in a static data structure.
An example of this data structure is an array.
o Dynamic data structure: In the dynamic data structure, the size is not
fixed. It can be randomly updated during the runtime which may be
considered efficient concerning the memory (space) complexity of the
code.
Examples of this data structure are queue, stack, etc.

• Non-linear data structure: Data structures where data elements are not placed
sequentially or linearly are called non-linear data structures. In a non-linear data
structure, we can’t traverse all the elements in a single run only.
Examples of non-linear data structures are trees and graphs.

Types of Data Structure

Basically, data structures are divided into two categories:

• Linear data structure

• Non-linear data structure

Let's learn about each type in detail.

Linear data structures

In linear data structures, the elements are arranged in sequence one after the other.
Since elements are arranged in particular order, they are easy to implement.

However, when the complexity of the program increases, the linear data structures
might not be the best choice because of operational complexities.

Popular linear data structures are:

1. Array Data Structure

In an array, elements in memory are arranged in continuous memory. All the elements
of an array are of the same type. The type of elements that can be stored in the form of
arrays is determined by the programming language.

An array with each element represented by an index

2. Stack Data Structure

In stack data structure, elements are stored in the LIFO principle. That is, the last
element stored in a stack will be removed first.
It works just like a pile of plates where the last plate kept on the pile will be removed
first.

In a stack, operations can be perform only from one end (top here).

3. Queue Data Structure

Unlike stack, the queue data structure works in the FIFO principle where first element
stored in the queue will be removed first.

It works just like a queue of people in the ticket counter where first person on the queue
will get the ticket first.

In a queue, addition and removal are performed from separate ends.

4. Linked List Data Structure

In linked list data structure, data elements are connected through a series of nodes.
Each node contains the data items and address to the next node.

Non linear data structures

Unlike linear data structures, elements in non-linear data structures are not in any
sequence. Instead, they are arranged in a hierarchical manner where one element will
be connected to one or more elements.

Non-linear data structures are further divided into graph and tree based data structures.

1. Graph Data Structure


In graph data structure, each node is called vertex and each vertex is connected to other
vertices through edges.

Graph data structure example

2. Trees Data Structure

Similar to a graph, a tree is also a collection of vertices and edges. However, in tree data
structure, there can only be one edge between two vertices.

Tree data structure example

Linear Vs Non-linear Data Structures

Now that we know about linear and non-linear data structures, let's see the major
differences between them.

Linear Data Structures Non-Linear Data Structures

The data items are arranged in


The data items are arranged in non-
sequential order, one after the
sequential order (hierarchical manner).
other.

All the items are present on the The data items are present at different
single layer. layers.
It can be traversed on a single run.
It requires multiple runs. That is, if we start
That is, if we start from the first
from the first element it might not be
element, we can traverse all the
possible to traverse all the elements in a
elements sequentially in a single
single pass.
pass.

Different structures utilize memory in


The memory utilization is not
different efficient ways depending on the
efficient.
need.

The time complexity increase with


Time complexity remains the same.
the data size.

Example: Arrays, Stack, Queue Example: Tree, Graph, Map

Need Of Data structure


The structure of the data and the synthesis of the algorithm are relative to each other.
Data presentation must be easy to understand so the developer, as well as the user, can
make an efficient implementation of the operation.
Data structures provide an easy way of organizing, retrieving, managing, and storing
data.
Here is a list of the needs for data.

1. Data structure modification is easy.

2. It requires less time.

3. Save storage memory space.

4. Data representation is easy.

5. Easy access to the large database.

Operations performed on Array


• Initialization: An array can be initialized with values at the time of declaration or
later using an assignment statement.

• Accessing elements: Elements in an array can be accessed by their index, which


starts from 0 and goes up to the size of the array minus one.

• Searching for elements: Arrays can be searched for a specific element using
linear search or binary search algorithms.

• Sorting elements: Elements in an array can be sorted in ascending or


descending order using algorithms like bubble sort, insertion sort, or quick sort.
• Inserting elements: Elements can be inserted into an array at a specific
location, but this operation can be time-consuming because it requires shifting
existing elements in the array.

• Deleting elements: Elements can be deleted from an array by shifting the


elements that come after it to fill the gap.

• Updating elements: Elements in an array can be updated or modified by


assigning a new value to a specific index.

• Traversing elements: The elements in an array can be traversed in order, visiting


each element once.

Applications of Data Structures


Real-world Applications of Arrays:

• Databases: Arrays facilitate quick retrieval and storage of records in databases,


enhancing data management.

• Image Processing: Pixel values in images are often stored in arrays, allowing for
efficient manipulation and processing.

Real-world Applications of Linked Lists:

• Music Player: Linked lists can be used to implement playlists, allowing easy
addition and removal of songs.

• Memory Management: Operating systems use linked lists to manage dynamic


memory allocation.

Real-world Applications of Queues:

• Undo Mechanism: Stacks are employed to implement undo functionality in


various applications.

• Print Queue: Queues manage the order of print jobs in a printer queue, ensuring
fairness.

Real-world Applications Trees and Graphs:

• File Systems: Directory structures in file systems often follow a tree-like


hierarchy.

• Social Networks: Graphs model relationships between users in social networks.

Advantages of Data Structure


Data structures offer a wide range of benefits for creating and maintaining code in
programming languages. Some of these advantages are:

1) Efficient Storage

Data structures provide efficient storage by organizing the data effectively, which
facilitates quick retrieval and maintenance of the data in the system. The memory
allocation takes place according to the data types used in the data structure.
2) Easy Data Processing

Various data structures are used for specific purposes like organizing, processing,
retrieving, and storing data. These structures enable users to access and work with
data efficiently. Data structures simplify data processing and enable faster sorting and
searching for specific data within a large data set. The data structures convert raw
data into a machine-readable format and develop algorithms for data processing.

3) Develop Algorithms

Algorithms for data structures help organize and access information in a structured
manner. These algorithms take into account the format of the data as well as any
actions that can be performed on it. Their goal is to find the most efficient way to store
and manipulate data within the structure while also allowing for easy navigation. By
utilizing these algorithms, complex issues can be resolved with efficiency.

4) Reusability of Data

One of the fundamental advantages of data structure is that it offers data reusability.
It enables the creation of data in specific formats, which can then be stored in libraries,
allowing different clients to utilize and access the data as needed. Therefore, data can
be reused in multiple ways and purposes. This makes it easier to create efficient and
dynamic algorithms that can be used for different applications.

5) Provide Built-in Functions

Different programming languages offer diverse data structures equipped with a variety
of built-in functions. These functions make the most efficient use of specific databases
and enhance data manipulation capabilities. For example, data structures
provide built-in functions, such as search, sort, filter, and merge, which enable us to
manipulate data more effectively.

6) Supports Data Abstraction

The abstract data type in data structures helps support data abstraction. Data
abstraction is the process of hiding internal functions and displaying relevant and basic
information. An abstract data type supports the use of complex data structures with
complex functions. They can customize any data structure according to how it will be
used and enable reusing code by calling its functions without writing repetitive code.
Examples of abstract data structures include lists, queues, stacks, etc.

7) Data Structure Selection for Optimal Performance

When dealing with large data sets, the effectiveness of a program heavily relies on the
employed data structure. Hence, selecting the appropriate data structure becomes
paramount. For instance, linked lists, stacks, and queues are commonly utilized to
store data in programs.

8) Saves Programmer’s Time

Data structures streamline the process of organizing and accessing data, which helps
save time. Developers can access data quickly and efficiently without having to
manually search through large amounts of data by selecting the appropriate data
structure for their program. As a result, they can concentrate more on the program’s
functionality and less on data storage and retrieval. Moreover, data structures can be
easily reused for other applications, saving more time for developers by not having to
write code again.

9) Practical Applications

Data structures have several practical uses, such as dynamic memory allocation,
process scheduling, dictionaries, and file system organization. It enables the allocation
and deallocation of memory blocks as needed during program execution, reducing
memory wastage. Further, spatial data structures are utilized in geographic
information systems.

10) Increased Data Security

You can implement security features into data structures to ensure data integrity and
application security. Some of these features are encrypted search trees, access
control lists, and support for multi-party computation (SMPC). By incorporating these
features, the data structures can detect tampering, prevent unauthorized access, and
maintain confidentiality. Therefore, integrating data structures with cyber security
frameworks can create a robust defense against cyber-attacks.

Disadvantages of Data Structure


Having discussed the advantages of data structure in detail, let us look at some of its
disadvantages:

1) Difficult to Handle for Beginners

Working on simple and complex data structures requires good programming skills and
experience. A new developer may find it difficult to handle complex data structures.

2) Slower Data Structure Access

Although different data types are available to allocate memory within the system, some
of the more complex data structures’ memory access might become slow and sluggish
at times.

3) Initial Quality Testing Takes Time

Building algorithms is a necessary step in the process of designing a data structure


from scratch. Initially, it takes a lot of quality testing time, especially if the complexity
of the data structure is high.

4) High Maintenance

Handling large data sets, especially big data, requires the use of complex data
structures and algorithms along with physical infrastructure. This will require a high
cost of maintenance for the smooth functioning of the programs.

5) Requires Comprehensive Planning


Implementing and managing data structures without prior preparation and planning is
challenging. You need sophisticated calculations and tremendous efforts to outline the
use of data structures in your program.

You might also like