Explore BrainMass

Data Structures

A list is perhaps the most intuitive way to store data, and we have developed many ways to sort and search through lists perhaps for this reason. However, only using a simple 1D array list is highly limiting when computer scientists have spent decades inventing and improving a vast range of other data structures. 

In essence, all a data structure is a specific way or organizing and storing data so that the computer can use it efficiently. Each one has advantages and disadvantages in different areas as they are often developed for a specific type of usage. As a whole, however, they aim to provide fast, easy-to-understand ways to work with large amounts of data without getting overwhelmed. Here are some of the common data structures:

  • lists/arrays
    • linked lists
    • arraylists
  • trees
    • AVL trees
    • Red-black trees
  • heaps
    • min-heaps
    • max-heaps
  • stacks
  • hash tables
  • databases
  • queues
    • priority queues

An efficient data structure makes for an efficient algorithm so it is highly important that you can judge which to pick for your specific application requirements. Most university computer science programs will have some form of data structures for exactly this reason. In fact, some formal design methods and programming languages even emphasize data structures over the traditional algorithm-focused approach.

Most data structures are simply different ways of using the computer's ability to fetch and store data using a memory address. For example, records and arrays compute these addresses using arithmetic operations, while linked lists and the like store the addresses of their elements actually in their own structure. It is also common for structures to use a combination of these two approaches - and often quite a complex combination at that. Data structures are handled at a higher level of programming, where syntax for their use is often built in, but assembly languages have a much more basic access to the fetch and store cycle so it is challenging to program a data structure directly in low-level assembly code. Most languages, however, do come with some sort of library feature to allow their data structure implementations to be portable between programs and systems.

Categories within Data Structures


Postings: 142

A systematic arrangement of objects, typically in rows and columns


Postings: 330

An organized collection of data


Postings: 7

A has table is a structure where an algorithm that maps data of variable length to data of a fixed length in a table

Linked Lists

Postings: 18

A data structure consisting of a group of nodes which together represent a sequence


Postings: 75

A widely-used abstract data type that simulates a hierarchical tree structure


Postings: 0

A dynamic array option available in some languages with fixed-size arrays

Clustering example and data mining

Please help with the following problem. Clustering is often used along with classification in some applications. In such a case, typically clustering is applied to a dataset to identify natural grouping of the objects in the dataset, and based on the clustering result you label the objects and build a classifier. Discuss for

Graph Analysis - Number of Staff vs Staff Month

In the diagram B5, the y axis is number of staff. In the diagram B6, the y axis is staff-months. Q1. What is the meaning of staff-months, example? Q2. What is the relationship between number of staff and staff-months? Is the staff months calculated from # of staffs?

Class diagram-lending library

Description of the problem: Consider a computer system used to manage loans for a library. Libraries loan books, CDs, DVDs, videos and magazines to registered members. The library needs to monitor which items have been loaned out and which are still available in the library. The library also needs to keep track of who has borr

Environmental Law & Policies

How important should cost-benefit analysis be in risk management decisions? Should such considerations be uniform for all environmental issues? Thanks