Difference between sequential allocation and dynamic allocation




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.