A thorough understanding of data structuring is vital for anyone who works with large amounts of data. Data structuring is the process that arranges data to make it usable and accessible by software programs. There are a myriad of ways to structure data, but the most commonly used are arrays, dictionaries and linked lists. Each of these has its own strengths and weaknesses, therefore it is important to understand each one before deciding which one is best for your specific needs.
Linear Data Structures
Depending on the programming language used, linear data structures can vary in their allocation of memory and internal structure, as well the manner in which the basic operations (traversal, retrieval, insertion, deletion) are executed. An array is an excellent example of a linear structure. It stores its elements in memory locations that are contiguous. every element can be accessed through an index that begins at 0. They are useful for algorithms that require sequential data access. They can also be useful to store lists (like dates or address) and performing math computations.
Non-Linear Data Structures
A non-linear data structure is a tree which organizes data in a hierarchical structure. Each record in the tree has a parent-child relationship that connects it to one or more records below. Each child record could contain pointers or data that lead to other records within the tree. One good example of one is a family tree which has its primary element of data at the top and then branches out into grandchildren, children and so on.