Difference between Array and Linked List


ArrayLinked list
DefineArray is a collection of elements having same data type with common name.Linked list is an ordered collection of elements which are connected by links/pointers.
AccessIn array, elements can be accessed using index/subscript value, i.e. elements can be randomly accessed like arr[0], arr[3], etc. So array provides fast and random access.In linked list, elements can’t be accessed randomly but can be accessed only sequentially and accessing element takes 0(n) time.
Memory StructureIn array, elements are stored in consecutive manner in memory.In linked list, elements can be stored at any available place as address of node is stored in previous node.
Insertion & DeletionInsertion & deletion takes more time in array as elements are stored in consecutive memory locations.Insertion & deletion are fast & easy in linked list as only value of pointer is needed to change.
Memory AllocationIn array, memory is allocated at compile time i.e. Static Memory Allocation.In linked list, memory is allocated at run time i.e.Dynamic Memory Allocation.
TypesArray can be single dimensional, two dimension or multidimensional.Linked list can be singly, doubly or circular linked list.
DependencyIn array, each element is independent, no connection with previous element or with its location.In Linked list, location or address of elements is stored in the link part of previous element/node.
Extra SpaceIn array, no pointers are used like linked list so no need of extra space in memory for pointer.In linked list, adjacency between the elements are maintained using pointers or links, so pointers are used and for that extra memory space is needed.
Figure

0 comments: