Basic Principles of Data Structures
– Data structures are based on the computer system’s ability of fetching and storing the data at and from any place in the memory.
– It is specified by a unique address which can further be manipulated by the software system or application.
– Data structures like arrays and records are based on the computation of the addresses of data objects with the help of arithmetic operations.
– On the other side, the linked data structures are based on the storage of the addresses of the data items that are contained within the structure.
– However, there are data structures which make use of both the principles combined in non – trivial ways.
– XOR linking falls in the above category.
– Writing a set of procedure forms a part of the implementation of the data structure.
– This procedure creates and manipulates the instances of a particular data structure.
– However, using those operations the efficiency of the data structures cannot be analyzed.
– The theoretical concept of the abstract data type is motivated by this observation.
– The abstract data type is the data structure which is defined by the operations indirectly as well as by the mathematical properties of the operations such as the time and space cost.
What languages support data structures?
– Not all the languages support the concept of the data structures.
– Some low level languages lack support for the data structures. An example of such language is BCPL or basic combined programming language.
– Also, there are many assembly languages which do not support the data structure concept.
– On the other hand there are some higher level assembly languages as well as high level programming languages which come with a built in special syntax for supporting the data structures.
– Not all the data structures are supported by every language.
– An example of such higher level assembly language is the MASM.
– Vector data structures such as the arrays are supported by C and C++ languages and similarly Pascal supports multi-dimensional languages.
– A kind of library mechanism is supported by most of the programming languages which enable the different programs to reuse the existing data structure implementations.
– However, the standard libraries are provided along with the modern languages which help in the implementation of the many common data structures.
– Some examples of such libraries are:
1. C++ standard template library
2. Java collections frame work
3. Microsoft’s .NET frame work and so on.
– Modular programming is generally supported by most of the modern languages which is actually the separation between the library module interface and its implementation.
– Some languages provide the option of using the opaque data types using which the clients can very well hide the details of the implementation.
– However, the data structure ‘class’ is used by the object oriented programming languages (such as java, C++, .NET etc.) for achieving this status.
– Many data structures have come up with their concurrent versions which enable the access to the data structures by multiple computing threads at the same instant of time.
– An abstract data type is actually implemented by the means of data structures.
– Below given is a list of available data types:
1. Primitive data types
2. Composite data types
3. Abstract data types
4. Linear data structures