Page 15 - DCAP407_DATA_STRUCTURE
P. 15
Data Structure
If a user wants to store more data items in a data structure than expected, then
the software must be capable of extending the capacity of the structure to store
the additional data.
Adaptability
Developing software projects such as word processors, Web browsers and Internet search engine
involves large software systems that work or execute correctly and efficiently for many years.
Moreover, software evolves due to ever changing market conditions or due to emerging technologies.
Software evolves to adapt to the increase in speed of CPU or network, or it
evolves to add new functionality as per the market demand.
Thus, the goal of data structure is to develop quality software which is capable of adapting to any given
situation.
Reusability
Reusability and adaptability go hand-in-hand.
In reusable software, the code of the particular software developed can easily
be incorporated or adapted in the component of different systems or
application domains.
It is a known fact that the programmer requires many resources for developing any software, which
makes it an expensive enterprise. However, if the software is developed in a reusable and adaptable
way, then it can be implemented in most of the future applications. Thus, by implementing quality data
structures, it is possible to develop reusable software, which tends to be cost effective and time saving.
Data Structures – Making Things Easy
Einstein@Home is a distributed computing software project. It used NVIDIA’s CUDA (CUDA is
NVIDIA’s parallel computing architecture) architecture to enable drastic increase in computing
performance. But, with the existing data structure, it performed poorly when used with graphics
processing units (GPUs). The whole data structure was redesigned. A novel spatial data structure
called dynamic grid was optimized for CUDA usage. This resulted in a three-fold improvement in
the performance of the GPUs. This improvement in the performance was achieved without even
optimizing the code executed on the device. Thus the proper usage of data structure proved
beneficial for the project.
Source: http://gpgpu.org/2008/08/11/case-studies-on-gpu-usage-and-data-structure-design
1.3 Classification of Data Structure
A data structure provides a structured set of variables that are associated with each other in different
ways. It forms a basis of programming tool that represents the relationship between data elements and
helps programmers to process the data easily.
Data structure can be classified into two categories:
1. Primitive data structure
2. Non-primitive data structure
8 LOVELY PROFESSIONAL UNIVERSITY