Data Structures

  • Data structures are a method to organise data within a computer system, allowing operations and processes to be conducted more efficiently.
  • The most fundamental data structure is an array. An array is a collection of elements identified by index or key. Elements within an array can be directly accessed using the index.
  • Linked lists are a type of linear data structure where each element is a separate object and each element (node) contains data and a ‘link’ to the next object in the list.
  • The two main types of linked list are singly linked, where each node points only to the next node in the list, and doubly linked, where each node has pointers to both the next and the previous node.
  • Stacks are another type of data structure, where the last element added is the first to be removed - this is known as Last-In-First-Out (LIFO).
  • Queues, in contrast to stacks, operate under the First-In-First-Out (FIFO) principle, where the first element added is the first to be removed.
  • Trees are non-linear hierarchical data structures with a top element, known as a root, and subtrees of children with a parent node.
  • Binary trees are a specific type of tree where each node has at most two children, often referred to as the left child and the right child.
  • Graphs are non-linear data structures that represent relationships between different items, with nodes indicating objects and edges indicating the connection or relationship between them.
  • The efficiency of using different data structures depends on the specific use case and operations to be performed. For example, if data needs to be accessed in a specific order, then a queue or a stack might be appropriate. For large volumes of data where search efficiency is crucial, a tree or a graph may be more suitable.
  • Understanding how to select and utilize the correct data structure is a critical skill in computer science as it can significantly impact the performance of a software system.