Main » TERM » D »

dynamic data structure

A dynamic data structure (DDS) refers to an organization or collection of data in memory that has the flexibility to grow or shrink in size, enabling a programmer to control exactly how much memory is utilized. Dynamic data structures change in size by having unused memory allocated or de-allocated from the heap as needed.

Dynamic data structures play a key role in programming languages like C, C++ and Java because they provide the programmer with the flexibility to adjust the memory consumption of software programs.

Dynamic Data Structures vs. Static Data Structures

Dynamic data structures stand in contrast to static data structures (SDS), wherein in the case of the latter the size of the structure is fixed. Static data structures are ideal for storing a fixed number of data items, but they lack the dynamic data structure’s flexibility to consume additional memory if needed or free up memory when possible for improved efficiency.

As a result, when the number of data items can’t be predicted beforehand, a dynamic data structure should be used. A potential drawback to using dynamic data structures, though, is that because allocation of memory isn’t fixed, there is the possibility for the structure to overflow if it exceeds the maximum allowed memory limit or underflow if the data structure becomes empty.

To help prevent these issues from occurring, the programmer needs to add control for continually monitoring the size and location of data items in a dynamic data structure.







LATEST ARTICLES
Facts about Cloud Computing in 2017

The following facts and statistics capture the changing landscape of cloud computing and how service providers and customers are keeping up with... Read More »

Facts about Computer Science: Education and Jobs

The following computer science facts and statistics provide a quick introduction to the changing trends in education and related careers. Read More »

Texting & Chat Abbreviations

From A3 to ZZZ this guide lists 1,500 text message and online chat abbreviations to help you translate and understand today's texting lingo. Read More »

STUDY GUIDES
The Five Generations of Computers

Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »

Computer Architecture Study Guide

Computer architecture provides an introduction to system design basics for most computer science students. Read More »

Network Fundamentals Study Guide

Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »