Algorithms Adding 2 integers as linked lists We will represent an Integer as Singly Linked List and define an addition algorithm to add two integers as Linked Lists. This is used to add very large integers which is not stored in existing data types.

Algorithms Array vs Linked List [Differences Explained] This article explain the differences between Array and Linked List (Array vs Linked List) in depth along with key points that will help you in deciding which one to use for a specific problem.

Algorithms Intersection point of two linked lists Given two linked lists, where the tail of the second list points to a node in the first list, find the node where both the lists intersect. We need to find the intersection point.

Algorithms Move the first element of the linked list to the end In this problem, given a linked list, we move the first element of the linked list to the end of the linked list.

Algorithms Delete Middle Node from Linked List In this problem, we will delete the Middle Node from a given Linked List. We have covered the algorithm (along with implementation) to delete the middle node from a Singly Linked List and Doubly Linked List.

Algorithms Move Last Element of Linked List to Front We will explore recursive and iterative algorithm to Move Last Element of Linked List to Front.

Algorithms Move all occurrences of an element to end of linked list In this problem, given a linked list and an input key value, the task is to move all occurrences of the given key to the end of the linked list.

Algorithms Applications of Linked list We have covered the applications of Linked List, Circular Linked List and Doubly Linked List. We start with the basics of Linked List and then, move to applications of the different types of Linked List.

Algorithms Linked List with no NULLs A Linked list is a dynamic data structure which can grow or shrink on demand. It is usually implemented using NULLs, we will consider an alternative no NULL approach and use placeholder nodes.

Algorithms Binary Search in a Linked List You are given a sorted singly linked list and a key (element to be searched), find the key in the linked list using binary search algorithm. The challenge is to find the middle element as Linked List does not support random access.

Algorithms Algorithm to detect and remove loop in a Linked List Given a Linked list, find out whether it contains a loop or not. If it does, then remove the loop and make the last node point to NULL.

Algorithms Algorithm to check if a linked list is sorted In this article, we have explored an algorithm to check if a given Linked List is sorted or not in linear time O(N). It takes constant space O(1).

Algorithms Check if Linked List is Empty Checking if the given Linked List is empty depends on the ways Linked List has been formed (with or without root). We have covered both approaches.

Algorithms Check whether a Singly Linked List is Palindrome or not Linked List can be palindrome if they have the same order when it traverse from forward as well as backward. This is solved using three methods: using stack, string and by reversing the list.

Algorithms Reverse a doubly linked list in C++ In this article, we are going to see how to reverse a doubly linked list by reversing the links of each node (without swapping values of nodes) and have implemented the solution using C++.

Algorithms To check if the linked list is a circular linked list (2 methods) We will be seeing two efficient methods to determine whether the given linked list is a circular linked list or not. With this, we solve the problem in linear time.

Algorithms Cycle Detection Algorithms A cycle in a data structure as we have already seen is a condition with no end. A few popular cycle detection algorithms are Floyd's cycle detection algorithm and Brentβs Cycle Detection Algorithm.

Data Structures Finding the length of a loop in linked list In this article, we will look at the method of finding the length of a loop in a linked list. For that you should be able to understand Floyd's loop detection algorithm.

Data Structures Detect a loop in a linked list (3 methods) A Loop in a linked list is a condition when a Linked list does not have any end. We have explored different ways to detect loop in a linked list like by marking visited nodes, using hashmap and Floyd's cycle finding algorithm.

Algorithms Reverse alternate groups of K nodes in a Singly Linked List We are given a pointer to the head of a singly Linked List and you have to write a function to reverse the elements of the given singly Linked List in alternate groups of K nodes. Once the operation is performed, pointer to the head of the Linked List must be returned from the function.

Algorithms Reverse a linked list using 2 pointers technique using XOR operator You must have come across reversing a linked list using 3 pointers technique which is the most common approach to do it. But do you know how to reverse a linked list with just 2 pointers? This article will teach you just that! Let's dive into it.

Data Structures Circular Linked List Circular Linked list is a complex form of a linked list data structure as within a circular linked list the last node points to the first node of the list. We have covered it in detail with all operations and implementation in Java.

Algorithms Implement Least Recently Used (LRU) Cache In this article, we have implemented Least Recently Used cache using 2 data structures: Doubly Linked Lists and Hash Map and compared LRU with FIFO cache.

Data Structures XOR Linked List XOR Linked List is the memory efficient version of Doubly Linked List because it makes use of only one space for address field with every node. It provides facilitates list traversal in both forward and backward directions. Insertion and deletion operations take constant time

Data Structures Skip List A skip list is a data structure that is used for storing a sorted list of items with a help of hierarchy of linked lists that connect increasingly sparse subsequences of the items. A skip list allows the process of item look up in efficient manner. The time complexity of operations are O(log N)