Anyone who deals with large amounts data should have a good understanding of data structure. Data structuring is the process of arranging data to allow it to be accessed and utilized by software programs. There are many ways to structure data, but some of the most common are arrays, dictionaries and linked lists. Each has its own strengths and weaknesses, so it is essential to know each one before deciding which one is best for your particular requirements.
Linear Data Structures
Depending on the programming language being used, linear data structures can vary in their memory allocation internal structure, as well as how basic operations (traversal retrieval, insertion, deletion) are performed. One good example of linear data structures is an array, which is able to store its elements in contiguous memory locations, and where each element is accessible with an index beginning at 0. They are useful for algorithms that require sequential access to data. They are also useful to store lists (like dates or address) and for performing math calculations.
Non-Linear Data Structures
A tree is an non-linear structure which organizes data into a hierarchy. Each record in the tree has a parent-child relationship that connects it to one or more records below. Each child’s record may contain data or pointers that lead to other records within the tree. A family tree is an illustration of the tree. The primary information is at the top, and it extends to children, grandchildren, etc.