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
   10   11   12   13   14   15   16   17   18   19   20