Everything about Linked list
Data structure with nodes pointing to the next node
In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. In its most basic form, each node contains data, and a reference to the next node in the sequence. This structure allows for efficient insertion or removal of elements from any position in the sequence during iteration. More complex variants add additional links, allowing more efficient insertion or removal of nodes at arbitrary positions. A drawback of linked lists is that data access time is linear with respect to the number of nodes in the list. Because nodes are serially linked, accessing any node requires that the prior node be accessed beforehand. Faster access, such as random access, is not possible. Arrays have better cache locality compared to linked lists. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Linked listA 5-minute orientation
- Skim a recent paper: Eyebox uniformity optimization over the full field of view for optical waveguide displays based on linked list processingInfluential work since 2022
- Pick up a classic book: The Minimum You Need to Know about Logic to Work in ItThe most-reprinted book on the subject
- Read the landmark paper: Real‐Time Concurrent Linked List Construction on the GPUCited 122 times
- Go sideways: Doubly linked listA closely related topic
- Go sideways: Queue (abstract data type)A closely related topic
📖 Definitions
Noun A simple linear data structure, each of whose nodes includes a pointer to the next (and sometimes previous) node in the list, enabling traversal of the structure in at least one direction from any starting point.
🏆 Landmark papers (most cited)
Real‐Time Concurrent Linked List Construction on the GPU
Near-neighbor calculations using a modified cell-linked list method
Maintaining order in a generalized linked list
Quality-guided phase unwrapping implementation: an improved indexed interwoven linked list
Linked-list visualization for debugging
Parallel algorithms for computing linked list prefix
Growing List of Infections Linked to TNF Blockers
Extrapolating linked list data structures to 3rd dimension
🆕 Influential since 2022
Eyebox uniformity optimization over the full field of view for optical waveguide displays based on linked list processing
RLL-SWE: A Robust Linked List Steganography Without Embedding for intelligence networks in smart environments
Process-based vegetative growth model for cereal rye winter cover crop using object-oriented programming and linked-list data structure
An efficient linked list for molecular simulations on a spherical surface
Smart game development on removal of every K player and find the winner using linked list concepts
📚 Books worth reading
The Minimum You Need to Know about Logic to Work in ItRoland Hughes · 2007
The American left, 1955-1970Ned Kehde · 1976
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Crockford's Clerical DirectoryVARIOUS · 2007
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Doubly linked list In computer science, a doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains…
- Queue (abstract data type) In computer science, a queue is an abstract data type that serves as an ordered collection of entities. By convention, the end of the queue where elements…
- Linked data structure In computer science, a linked data structure is a data structure which consists of a set of data records (nodes) linked together and organized by references…
- 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 dramatically increase…
- Fringe search In computer science, fringe search is a graph search algorithm that finds the least-cost path from a given initial node to one goal node. In essence, fringe…
- K-way merge algorithm In computer science, k-way merge algorithms or multiway merges are a specific type of sequence merge algorithms that specialize in taking in k sorted lists…
- Sequence container (C++) In C++, sequence containers or sequence collections refer to a group of container class templates in the standard library that implement storage of data…
- Insertion sort Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time by comparisons. It is much less efficient…