What are the different types of Linked Lists which are commonly used?
I know and have used the following:
- Singly Linked List
- Doubly Linked List
- Circular List
What are the other kinds of lists that have been us开发者_高级运维ed by you or known to you?
- Unrolled Linked List
In computer programming, an unrolled linked list is a variation on the linked list which stores multiple elements in each node. It can drastically increase cache performance, while decreasing the memory overhead associated with storing list metadata such as references. It is related to the B-tree. - Wikipedia
- XOR Linked List
XOR linked lists are a data structure used in computer programming. They take advantage of the bitwise exclusive disjunction (XOR) operation, here denoted by ⊕, to decrease storage requirements for doubly-linked lists. - Wikipedia
Skip lists! Not really a type of linked list, but related, and pretty neato.
okay, it is either a type of linked list or a group of linked lists, depending on how you classify things, but it features O(log N) insertion/selection, which is pretty sweet for a linked list.
There is also a multiply-linked list.
In a multiply-linked list, each node contains two or more link fields, each field being used to connect the same set of data records in a different order (e.g., by name, by department, by date of birth, etc.). (While doubly-linked lists can be seen as special cases of multiply-linked list, the fact that the two orders are opposite to each other leads to simpler and more efficient algorithms, so they are usually treated as a separate case.)
Both stacks and queues are often implemented using linked lists, and simply restrict the type of operations which are supported. An unrolled linked list is a linked list in which each node contains an array of data values. This leads to improved cache performance, since more list elements are contiguous in memory, and reduced memory overhead, because less metadata needs to be stored for each element of the list.
I could probably think up scenarios where it would be useful to be able to link from any element in a list to the first and last elements. If no-one else corrects me, I assert that this is called a High-Performance-Mark-List.
精彩评论