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.
- Watch Datamation's editor James Maguire moderate roundtable discussions with tech experts from companies such as Accenture, Dell, Blue Jeans Network, Microsoft and more »
It's not just your lawnmower and household tools that your neighbor won't return. Our top picks include everything from updating device firmware... Read More »Interesting Times: Transformation in the IT Channel
Business transformation will remain the buzzword of the moment as channel firms continue to assess the direction of their companies in the age of... Read More »What is a Virtual Private network (VPN)?
Companies and organizations will use a VPN to communicate confidentially over a public network and to send voice, video or data. Read More »
From wacky alarm clocks to lecture hall tools and after class entertainment, these Android apps are a good fit for a student's life and budget. Read More »Network Fundamentals Study Guide
A network is a group of two or more computer systems or devices, linked together to share resources, exchange files and electronic communications.... Read More »Computer Architecture Study Guide
This Webopedia study guide describes the different parts of a computer system and their relations. Read More »