Page 14 - DCAP407_DATA_STRUCTURE
P. 14
Unit 1: Introduction to Data Structures
From the preceding discussion it is clear that data structures are needed to analyze, store and organize
data in a logical manner.
Find some real world data which can be represented as a hierarchical data structure.
1.2.1 Goals of Data Structure
Data structure basically implements two complementary goals. The first goal of data structure is to
develop mathematical entities and operations, which can be used to solve particular classes of
problems. The second goal is to find out representations for these entities and then implement the
operations on those representations. This goal considers implementing the high level data type to solve
the problems, which in turn uses existing data types.
The fundamental goal of data structure is to produce solutions that are correct and efficient. This in turn
helps to produce quality software. Generally, the production of quality data structure to have quality
software implementation involves the following additional goals:
Correctness
Data structure is designed such that it operates correctly for all kinds of input, which is based on the
domain of interest. In other words, correctness forms the primary goal of data structure, which always
depends on the specific problems that the data structure is intended to solve.
A data structure designed to store a collection of numbers, in a specific order,
must make sure that the numbers are not stored in a haphazard way.
Efficiency
Data structure also needs to be efficient. It should process the data at high speed without utilizing much
of the computer resources such as memory space. In a real time state, the efficiency of a data structure is
an important factor that determines the success and failure of the process.
NASA space shuttle requires a high level data structure design, so that it
reacts quickly to any changing conditions during a lift-off.
1.2.2 Features of Data Structure
Some of the important features of data structures are:
1. Robustness
2. Adaptability
3. Reusability
Robustness
Generally, all computer programmers wish to produce software that generates correct output for every
possible input provided to it, as well as execute efficiently on all hardware platforms. This kind of
robust software must be able to manage both valid and invalid inputs.
A program is developed which takes an integer as an input. However, if a
floating point number is given as an input to it, then the program must be able
to manage this error and recover gracefully from this error.
Similarly, software must produce correct solution in spite of any limitation of the computer.
LOVELY PROFESSIONAL UNIVERSITY 7