Data Structure Introduction- Data and Information
Before learning the intricacies of Data Structures, you have to understand the difference between data and information.
Data is defined as collection of raw facts which do not have any defined context. We can say that Data is collection of numbers and text values which do not have any direct benefit to the organization that collects the data since it is unorganized and unprocessed . For example data collection done by government regarding health, income, dietary habits, family etc. does not have any benefit if it is stored as it is. The reason is that it is very voluminous and do not give any information. The Data thus collected needs to be processed before it can be used for decision making or reporting tasks.
When the collected data is processed using any technique like extraction, summarization, plotting, putting in a graph, selecting a portion of data or analyzed, it becomes information. This is the data having some defined context to an organization. The data processing adds value to data and converts the raw facts into Information. In earlier mentioned example the data collected on population can be processed to give information like annual income of a middle class family, living style and related health issues, income groups and diet followed. These are a few examples of information.
A data structure is defined as mathematical or logical model used to organize and manipulate data. The management of data is done through various operations like traversal, insertion, deletion, searching, sorting etc. The logical organization of data as a data structure is done to make the data organization easier, allow access to individual elements of a data structure, defining the association among data elements and provide various operations to process the data to derive information.
To create a computer program and solve a specific problem, the programmer needs some structure to hold the data values. So, data structures are an important aspect of problem solving through computer programming. It must be easy to understand and implement and must exhibit the relationship among data elements required to provide solution. For example to implement a transportation or network problem a graph like data structure is needed. To implement sequential execution of submitted tasks a queue like data structure is the best option.
Categories of data structures
Linear Data Structure
Data elements are organized in a linear fashion in a linear data structure . Traversal can only be done sequentially. All the previous elements must be followed first to reach a particular element in linear data structures. It also means that only one data element can be directly reached from the previous element. Every data element in a linear data structure have a direct relation with its prior and following element Examples of linear data structure are Arrays, Linked Lists, Stacks and Queues.
Non-Linear Data Structure
In a non linear data structure data elements are arranged non-linearly and traversal cannot be done sequentially. Every data element may be linked to more than one data elements. The linkages of the data elements reflect a particular relationship. The relationship between the elements can be hierarchical or random. Examples of linear data structure are Trees and Graphs.