Sequential allocation
|
Dynamic allocation
|
Static in nature. |
Dynamic in nature. |
Allocation of memory sequential |
Allocation is not necessarily sequential. |
The elements which are logically adjacent
are supposed to be physically adjacent. |
Need not be. |
No such requirement for additional
memory. |
Each data element is supposed to have the address of the next data element
(adjacent). They can require additional memory. This shall be a bottleneck problem sometime. |
Permit to direct accessing of data elements. It works based on “computed addressing”. |
Permits only sequential accessing of data elements as it works based on
stored addressing. |
Insertion and deletion operations are not strictly permitted. However logical realization is possible. It is either with the support of the pointer variable or with the support of data movements. |
Insertion and deletion operation is permitted and they are straight forward. It is through simply shuffling off pointer or exchange of addresses. |
Splitting and merging operations are not strictly permitted. However, they can be realized with the support of additional
memory and data movement. |
Splitting and merging operations are permitted and they are straight
forward. |
No such problem here. |
Loss of one address may result with the loss off the portion of the structure
(tail end). Hence careful programming is essential. |