DEV Community

Cindy Lam
Cindy Lam

Posted on

1

Linked List - Core Algos Overview

Based on my learnings at Formation, I have learned 11 core algorithms for this Linked List data structure. I have grouped them up by similarities:

Group #1: Accumulating elements in a Linked List

  • Count Elements in a Linked List
  • Sum Element Values in a Linked List

Group #2: Finding without the need of a pointer

  • Find a Highest/Max Element Value in a Linked List
  • Find an Element in a sorted Linked List

Group #3: Finding with 2 pointers

  • Find a Middle Element in a Linked List in One Pass
  • Find Kth Element from the End of a Linked List in One Pass

Group #4: Adding element(s)

  • Append an element with a target value to a Linked list
  • Insert a target element in a sorted Linked List (with sentinel*)

Group #5: Removing element(s)

  • Remove a target element in a sorted Linked List (with sentinel*)
  • Remove all elements with a target value in a Linked List (with sentinel*)

Group #6: Reversing elements

  • Reverse a Linked List

Group #7: Summing Linked Lists

  • Sum Two Linked Lists of Equal Length (with sentinel*)

*Sentinel node = It is a node that does not hold any reference/data to a Linked List (can be any value). We will have the pointer points to this node first. This is especially commonly used for inserting and removing Linked List problems

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay