Suggest an editImprove this articleRefine the answer for “What types of linked lists exist?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)There are several **types of linked lists**, and they differ in **how the nodes (elements) are connected**. The main idea is that every node has **data** and **references (pointers)** to other nodes. **Key point:** all linked lists work on the same idea - a chain of nodes with references - but different types give a different balance between speed, memory, and flexibility.Shown above the full answer for quick recall.Answer (EN)ImageThere are several **types of linked lists**, and they differ in **how the nodes (elements) are connected**. The main idea is that every node has **data** and **references (pointers)** to other nodes. --- ### **1. Singly Linked List** Each node stores: - **data**, - **a reference to the next element** (`next`). ```javascript head → [A | *] → [B | *] → [C | None] ``` - Movement is possible **only forward**. - To delete an element, you need to know the previous node. - The end of the list (`tail`) has a `None` reference. **Pros:** simple implementation, memory savings. **Cons:** you cannot move backward, access by index is slow (O(n)). --- ### **2. Doubly Linked List** Each node stores: - **data**, - **a reference to the next element** (`next`), - **a reference to the previous one** (`prev`). ```javascript None ← [A | * | *] ↔ [B | * | *] ↔ [C | * | None] ``` - You can move **in both directions**. - Easier to delete and insert elements. **Pros:** flexible, fast insertions and deletions. **Cons:** requires more memory (two references instead of one). --- ### **3. Circular Linked List** The last element (`tail`) does not point to `None`, but **to the first element (**`head`**)**, forming a ring. ```javascript [A] → [B] → [C] ↑__________↓ ``` - Can be **singly linked** or **doubly linked**. - Convenient for circular structures (for example, circular queues). **Pros:** you can traverse the list endlessly in a loop. **Cons:** requires care - it is easy to end up in an infinite loop. --- ### **4. Multi-linked list (or skip list)** Each node stores **several references to different "levels"** of the list. Used to **speed up search** (an example is the *Skip List* data structure). ```javascript Level 2: A → → → E Level 1: A → B → C → D → E ``` **Pros:** search is faster than in an ordinary list (O(log n) on average). **Cons:** implementation is more complex. --- ### **Summary:** | List type | References | Movement | Features | |---|---|---|---| | Singly linked | Only `next` | Forward | Simple, economical | | Doubly linked | `prev` and `next` | Forward and backward | Fast insertions/deletions | | Circular | Closes into a ring | In a loop | For circular structures | | Multi-linked (skip list) | Several references | Fast search | Used in databases | --- **Conclusion:** > All linked lists work on the same idea - a **chain of nodes with references**, > but different types give a different balance between speed, memory, and flexibility.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.