Share
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

Arrays

Postings: 142

A systematic arrangement of objects, typically in rows and columns

Databases

Postings: 330

An organized collection of data

Hashing

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

Trees

Postings: 73

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

ArrayList

Postings: 0

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

Preparing Effective Powerpoint Presentations

I need your help to research the steps necessary to do an effective presentation using PowerPoint. Explore beyond the first results, and look for information that interest you and that you did not know about making effective presentations. After your research is complete, post 2-3 tips that you found about doing effective pre

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

Drawing a Flow Chart to Illustrate the Problem

Draw a flowchart to illustrate the following problem. You are given for input the student name, number of credits, and cost per credit. You need to output the student name, number of credits and total tuition.

Precedence Diagram and Arrow Diagram

Create a Precedence Diagram and an arrow diagram based on the following information: a. There are 10 total tasks named A-J. b. Tasks A, B, and H have durations of 2 days. c. Tasks C, E, I, and J have duration of 3 days. d. Tasks D, F, and G have duration of 1 day. e. Tasks A, B, and D can be conducted in parallel. f.

Create the appropriate diagram for each relationship.

Decide the Primary Keys using the attached document. Then, identify the relationships. Create the appropriate diagram for each relationship. The relationships should mostly be one to many. Finally, determine at least three Business Rules for the Skate Shop and update the relationship diagrams with the constraints. You do NOT hav

Store, Region and Employee Relationships

1. Describe the type(s) of relationship(s) between STORE and REGION. Draw the entity relationship diagram for the relationship between STORE and REGION. Draw the relational schema for the relationship between STORE and REGION. 2. Draw the entity relationship diagram to show the relationships among EMPLOYEE, STORE, and REGION.

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

MS project training plan for Huffman trucking

Create a new project plan using Microsoft Project for a two-day training session for which people will be brought in from different parts of the country. Document everything involved, including preparation, presenter issues, participant issues, accommodations and facilities in the plan. A major part of your grade for th

Environmental Law and Policies

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