Changes

Jump to: navigation, search

Linked List

1,759 bytes added, 00:50, 20 November 2009
DISADVANTAGES: Well there has to be a downside!
== DISADVANTAGES: Well there has to be a downside! ==
-incomplete-Most of a linked list's disadvantages consist of speed issues.=== Seek By Traversal ===As opposed to a sequential array, linked lists cannot be randomly accessed. In computer science, we say that a linked list has access time O(n) where n is the number of elements in the array. This means that in the worst case, every single element of a linked list must be accessed before the desired index is reached. Compare this with the constant access time of a sequential array. In computer science, we say that an array has access time O(1); this means that regardless of which index you desire, the access time for it will ''always'' be the same. The reason for this is that arrays are laid out sequentially in memory which allows computers to access any one of their elements nearly instantaneously. The reason for this is that modern computers are built with the ability to read any given memory address at the exact same speed as reading any other memory address; we call this type of memory Random Access Memory.=== Overhead ===As well, linked lists can be a headache to implement (although very simple implementations can take no time at all!). As opposed to an array which is very simple to work with (trivial access, trivial assignment, trivial allocation, etc...), linked lists require a lot of processor overhead. This is mainly due to the fact that linked lists must be dynamically allocated piecemeal (ie one element at a time) and the fact that dynamic memory allocation itself isn't very fast. On top of that, every single action that a linked list can perform must be programmed. Linked lists are absolutely not trivial/native which is why they are '''always''' slower than sequential arrays when it comes to access, search, initialization/destruction, etc. 
== ELEMENTS: Nodes are everything! ==
-incomplete-

Navigation menu