Data Structures is a specific way to store and organize data in a computer's memory so that the data can be used efficiently later.
For example, we have some data which has, student name and age. Here, student name will be of string data type and age will be of an integer data type. We can organize data as a record like Student record, having both student name and age in it. We can collect and store student's records in a file or database as a data structure.
Data structures should be designed and implemented in such a way that increases efficiency and decreases the complexity of the program designed.
Characteristics of Data Structures
Some of the characteristics of data structures are listed below.
- Time Complexity: Execution time of operations of a data structure must be as small as possible.
- Space Complexity: Memory usage of a data structure operation should be as minimum as possible.
- Correctness: Implementation provides the internal representation of the data structure which should implement its interface correctly.
Need for Data Structures
A data structure is designed to order data for a particular purpose so that it can be accessed appropriately. Some of the data processing operations are efficient with respect to both time and space if the data stored is organized.
For example, in a telephone directory, imagine that all the numbers are unorganized. It would be very difficult to search someone’s number. Only if the names are arranged in lexicographical order with the numbers, the process would be easier. Also, the newly registered telephone numbers are saved and a new version of the telephone dictionary is introduced every year with those new numbers.
Thus, a data structure is used to exploit real constraints to optimize certain commonly used operations. Some important uses of data structures are:
- Data Structures helps in organizing data in computers, resulting in more efficient programs which execute faster.
- Data structures also help in reducing the usage of memory resources.
- Specific data structures are essential components of many efficient algorithms and allow the management of large amounts of data.
- Some programming languages emphasize data structures, rather than algorithms, as a key organizing factor in software design because of its efficiency.
- Computers are getting more powerful with the increase in CPU stepped in GHz, availability of faster networks and maximization of disk space. Therefore, people have started solving more and more complex problems and the solution is achieved with the help of programming using data structures and algorithms.