/Nerving-Into-Data-Structures

Data structures is one of the most peculiar skill. It's a plain sailing once you get it and complex while you are learning. One of the easiest way to deal with 'Data Structures' is to THINK in 'Data Structures'. When you think in 'Data Structures' everything else falls into place.

Primary LanguageC++MIT LicenseMIT

Data structures is one of the most peculiar skill. It's a plain sailing once you get it and complex while you are learning. One of the easiest way to deal with 'Data Structures' is to THINK in 'Data Structures'. When you think in 'Data Structures' everything else falls into place.

Topics are as follows :

1. Selecting a random node

Return a random node from a given linked list ensuring that the probability to fetch that specific node is 1/n where n is the size of the list.

2. XOR Linked list- Memory effecinct linked list

Implementation of doubly linked list from a singly linked list using xor opertation.

3. Fibonacci Search

A comparision-based search technique that uses fibonacci numbers to search an element in a sorted array.

4. Sentinel linear search

A type of linear search where the number of comparisons are reduced as compared to a traditional linear search.

5. Lowest common ancestor

Find the lowest common ancestor(LCA) of two nodes in a binary tree.