This directory contains following Data Structures and Algorithms implementations as well as projects and problem solving.
-
Arrays a. Matrix Rotation 90 degrees in place.
-
Linked Lists a. Basic Singly Linked List implementation with required methods. b. Reversing Singly Link List in one pass. c. Finding the Kth node from the last of a singly linked List in one pass. d. Finding the middle node/nodes of a singly linked list in one pass (Size is not known in advance)
-
Stacks a. Basic Stack implementation using a Linked List. b. Expression balance check using a stack. c. Reverse a string with stack.
-
Queues a. Basic Queue implementation with a Linked List b. Reverse First K elements of Queue
-
HashTables & Sets a. Find first non-repeating character b. Find first repeating character
-
mainclass.Tree a. Basic mainclass.Tree Implementation using Linked Lists b. Insertion to a tree c. Traverse a tree Pre-Order d. Traverse a tree In-Order e. Traverse a tree Post-Order f. Breadth First Traversal
-
Heap a. Basic Implementation of Heap Data Structure with an array b. Insertion of a node and bubbling up/down a Heap
-
Graphs a. Dijkstra Shortest Path Algorithm