Webopedia on Google+Webopedia on TwitterWebopedia on FacebookTech Bytes Blog
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.







TECH RESOURCES FROM OUR PARTNERS
LATEST ARTICLES
8 Agenda Apps to Help Students Stay Organized

Webopedia's student apps roundup will help you to better organize your class schedule and stay on top of assignments and homework. Read More »

List of Free Shorten URL Services

A URL shortener is a way to make a long Web address shorter. Try this list of free services. Read More »

Top 10 Tech Terms of 2015

The most popular Webopedia definitions of 2015. Read More »

STUDY GUIDES
Java Basics, Part 1

Java is a high-level programming language. This guide describes the basics of Java, providing an overview of syntax, variables, data types and... Read More »

Java Basics, Part 2

This second Study Guide describes the basics of Java, providing an overview of operators, modifiers and control Structures. Read More »

The 7 Layers of the OSI Model

The Open System Interconnection (OSI) model defines a networking framework to implement protocols in seven layers. Use this handy guide to compare... Read More »