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.

Forrest Stroud
Forrest Stroud
Forrest is a writer for Webopedia. Experienced, entrepreneurial, and well-rounded, he has 15+ years covering technology, business software, website design, programming, and more.

Related Articles

@ Sign

Pronounced at sign or simply as at, this symbol is used in e-mail addressing to separate the user' name from the user's domain name,...

Munging

(MUHN-jing) Munging (address munging), is the act of altering an email address posted on a Web page to make it unreadable to bots and...

How to Create an RSS Feed

In the second installment of RSS how-to, we look at some of the nonrequired (optional) channel and item tags, discuss RSS specifications in-depth and...

Dictionary Attack

(n.) (1) A method used to break security systems, specifically password-based security systems, in which the attacker systematically tests all possible passwords beginning with...

ScalaHosting

ScalaHosting is a leading managed hosting provider that offers secure, scalable, and affordable...

HRIS

Human resources information system (HRIS) solutions help businesses manage multiple facets of their...

Best Managed Service Providers...

In today's business world, managed services are more critical than ever. They can...