0% found this document useful (0 votes)
25 views

Data Structure Intro

The document discusses data structures and their importance in computer science. It defines what data structures are, provides examples like arrays and linked lists, and explains how they allow for efficient data storage and retrieval. Key topics covered include primitive vs non-primitive data structures, the objectives of correctness and efficiency, and common terminology related to data structures.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Data Structure Intro

The document discusses data structures and their importance in computer science. It defines what data structures are, provides examples like arrays and linked lists, and explains how they allow for efficient data storage and retrieval. Key topics covered include primitive vs non-primitive data structures, the objectives of correctness and efficiency, and common terminology related to data structures.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Since the invention of computers, people have been using the term "Data" to refer to

Computer Information, either transmitted or stored. However, there is data that exists in
order types as well. Data can be numbers or texts written on a piece of paper, in the
form of bits and bytes stored inside the memory of electronic devices, or facts stored
within a person's mind. As the world started modernizing, this data became a significant
aspect of everyone's day-to-day life, and various implementations allowed them to store
it differently.

Data is a collection of facts and figures or a set of values or values of a specific format
that refers to a single set of item values. The data items are then classified into sub-
items, which is the group of items that are not known as the simple primary form of the
item.

Let us consider an example where an employee name can be broken down into three
sub-items: First, Middle, and Last. However, an ID assigned to an employee will generally
be considered a single item.

In the example mentioned above, the items such as ID, Age, Gender, First, Middle, Last,
Street, Locality, etc., are elementary data items. In contrast, the Name and the Address
are group data items.

What is Data Structure?


Data Structure is a branch of Computer Science. The study of data structure allows us
to understand the organization of data and the management of the data flow in order
to increase the efficiency of any process or program. Data Structure is a particular way of
storing and organizing data in the memory of the computer so that these data can
easily be retrieved and efficiently utilized in the future when required. The data can be
managed in various ways, like the logical or mathematical model for a specific
organization of data is known as a data structure.

The scope of a particular data model depends on two factors:

1. First, it must be loaded enough into the structure to reflect the definite
correlation of the data with a real-world object.
2. Second, the formation should be so straightforward that one can adapt to
process the data efficiently whenever necessary.

Some examples of Data Structures are Arrays, Linked Lists, Stack, Queue, Trees, etc. Data
Structures are widely used in almost every aspect of Computer Science, i.e., Compiler
Design, Operating Systems, Graphics, Artificial Intelligence, and many more.

Data Structures are the main part of many Computer Science Algorithms as they allow
the programmers to manage the data in an effective way. It plays a crucial role in
improving the performance of a program or software, as the main objective of the
software is to store and retrieve the user's data as fast as possible.
Basic Terminologies related to Data Structures
Data Structures are the building blocks of any software or program. Selecting the
suitable data structure for a program is an extremely challenging task for a programmer.

The following are some fundamental terminologies used whenever the data structures
are involved:

1. Data: We can define data as an elementary value or a collection of values. For


example, the Employee's name and ID are the data related to the Employee.
2. Data Items: A Single unit of value is known as Data Item.
3. Group Items: Data Items that have subordinate data items are known as Group
Items. For example, an employee's name can have a first, middle, and last name.
4. Elementary Items: Data Items that are unable to divide into sub-items are
known as Elementary Items. For example, the ID of an Employee.
5. Entity and Attribute: A class of certain objects is represented by an Entity. It
consists of different Attributes. Each Attribute symbolizes the specific property of
that Entity. For example,

Attributes ID Name Gender Job


Titl
e

Values 1234 Stacey M. Hill Female Soft


ware
Dev
elop
er

Entities with similar attributes form an Entity Set. Each attribute of an entity set has a
range of values, the set of all possible values that could be assigned to the specific
attribute.

The term "information" is sometimes utilized for data with given attributes of
meaningful or processed data.

1. Field: A single elementary unit of information symbolizing the Attribute of an


Entity is known as Field.
2. Record: A collection of different data items are known as a Record. For example,
if we talk about the employee entity, then its name, id, address, and job title can
be grouped to form the record for the employee.
3. File: A collection of different Records of one entity type is known as a File. For
example, if there are 100 employees, there will be 25 records in the related file
containing data about each employee.

Understanding the Need for Data Structures


As applications are becoming more complex and the amount of data is increasing every
day, which may lead to problems with data searching, processing speed, multiple
requests handling, and many more. Data Structures support different methods to
organize, manage, and store data efficiently. With the help of Data Structures, we can
easily traverse the data items. Data Structures provide Efficiency, Reusability, and
Abstraction.

Why should we learn Data Structures?

1. Data Structures and Algorithms are two of the key aspects of Computer Science.
2. Data Structures allow us to organize and store data, whereas Algorithms allow us
to process that data meaningfully.
3. Learning Data Structures and Algorithms will help us become better
Programmers.
4. We will be able to write code that is more effective and reliable.
5. We will also be able to solve problems more quickly and efficiently.

Understanding the Objectives of Data Structures


Data Structures satisfy two complementary objectives:

1. Correctness: Data Structures are designed to operate correctly for all kinds of
inputs based on the domain of interest. In order words, correctness forms the
primary objective of Data Structure, which always depends upon the problems
that the Data Structure is meant to solve.
2. Efficiency: Data Structures also requires to be efficient. It should process the data
quickly without utilizing many computer resources like memory space. In a real-
time state, the efficiency of a data structure is a key factor in determining the
success and failure of the process.

Understanding some Key Features of Data Structures


Some of the Significant Features of Data Structures are:

1. Robustness: Generally, all computer programmers aim to produce software that


yields correct output for every possible input, along with efficient execution on all
hardware platforms. This type of robust software must manage both valid and
invalid inputs.
2. Adaptability: Building software applications like Web Browsers, Word
Processors, and Internet Search Engine include huge software systems that
require correct and efficient working or execution for many years. Moreover,
software evolves due to emerging technologies or ever-changing market
conditions.
3. Reusability: The features like Reusability and Adaptability go hand in hand. It is
known that the programmer needs many resources to build any software, making
it a costly enterprise. However, if the software is developed in a reusable and
adaptable way, then it can be applied in most future applications. Thus, by
executing quality data structures, it is possible to build reusable software, which
appears to be cost-effective and timesaving.

Classification of Data Structures


A Data Structure delivers a structured set of variables related to each other in various
ways. It forms the basis of a programming tool that signifies the relationship between
the data elements and allows programmers to process the data efficiently.

We can classify Data Structures into two categories:

1. Primitive Data Structure


2. Non-Primitive Data Structure
The following figure shows the different classifications of Data Structures.

Figure 2: Classifications of Data Structures

Primitive Data Structures

1. Primitive Data Structures are the data structures consisting of the numbers and
the characters that come in-built into programs.
2. These data structures can be manipulated or operated directly by machine-level
instructions.
3. Basic data types like Integer, Float, Character, and Boolean come under the
Primitive Data Structures.
4. These data types are also called Simple data types, as they contain characters
that can't be divided further

Non-Primitive Data Structures

1. Non-Primitive Data Structures are those data structures derived from Primitive
Data Structures.
2. These data structures can't be manipulated or operated directly by machine-level
instructions.
3. The focus of these data structures is on forming a set of data elements that is
either homogeneous (same data type) or heterogeneous (different data types).
4. Based on the structure and arrangement of data, we can divide these data
structures into two sub-categories -
a. Linear Data Structures
b. Non-Linear Data Structures

Linear Data Structures


A data structure that preserves a linear connection among its data elements is known as
a Linear Data Structure. The arrangement of the data is done linearly, where each
element consists of the successors and predecessors except the first and the last data
element. However, it is not necessarily true in the case of memory, as the arrangement
may not be sequential.

Based on memory allocation, the Linear Data Structures are further classified into two
types:
1. Static Data Structures: The data structures having a fixed size are known as
Static Data Structures. The memory for these data structures is allocated at the
compiler time, and their size cannot be changed by the user after being
compiled; however, the data stored in them can be altered.
The Array is the best example of the Static Data Structure as they have a fixed
size, and its data can be modified later.
2. Dynamic Data Structures: The data structures having a dynamic size are known
as Dynamic Data Structures. The memory of these data structures is allocated at
the run time, and their size varies during the run time of the code. Moreover, the
user can change the size as well as the data elements stored in these data
structures at the run time of the code.
Linked Lists, Stacks, and Queues are common examples of dynamic data
structures

Types of Linear Data Structures


The following is the list of Linear Data Structures that we generally use:

1. Arrays

An Array is a data structure used to collect multiple data elements of the same data
type into one variable. Instead of storing multiple values of the same data types in
separate variable names, we could store all of them together into one variable. This
statement doesn't imply that we will have to unite all the values of the same data type in
any program into one array of that data type. But there will often be times when some
specific variables of the same data types are all related to one another in a way
appropriate for an array.

An Array is a list of elements where each element has a unique place in the list. The data
elements of the array share the same variable name; however, each carries a different
index number called a subscript. We can access any data element from the list with the
help of its location in the list. Thus, the key feature of the arrays to understand is that
the data is stored in contiguous memory locations, making it possible for the users to
traverse through the data elements of the array using their respective indexes.

Figure 3. An Array

Arrays can be classified into different types:

a. One-Dimensional Array: An Array with only one row of data elements is known
as a One-Dimensional Array. It is stored in ascending storage location.
b. Two-Dimensional Array: An Array consisting of multiple rows and columns of
data elements is called a Two-Dimensional Array. It is also known as a Matrix.
c. Multidimensional Array: We can define Multidimensional Array as an Array of
Arrays. Multidimensional Arrays are not bounded to two indices or two
dimensions as they can include as many indices are per the need.

Some Applications of Array:

a. We can store a list of data elements belonging to the same data type.
b. Array acts as an auxiliary storage for other data structures.
c. The array also helps store data elements of a binary tree of the fixed count.
d. Array also acts as a storage of matrices.

You might also like