Skip to content

miron4dev/data-structures-and-algorithms

Repository files navigation

Data Structures & Algorithms Build Status

Implemented Algorithms

Classic Algorithms

Algorithm Implementation in Java
Binary Search BinarySearch.java
QuickSelect QuickSelect.java
N-Queens Problem QueensProblem.java
Hamiltonian Cycle HamiltonianCycle.java
Graph Coloring GraphColoring.java
Knight's Tour Problem KnightTourProblem.java
Maze Maze.java
Sudoku Sudoku.java
Knapsack Problem KnapsackProblem.java
Bread-First-Search BreadthFirstSearch.java
Depth-First-Search Iterative DepthFirstSearchIterative.java
Depth-First-Search Recursive DepthFirstSearchRecursive.java
Dijkstra Dijkstra.java
Topological Ordering TopologicalOrdering.java
Cycle Detection CycleDetection.java

LeetCode Algorithms

Topic Description Implementation in Java Time Complexity Space Complexity
String 242. Valid Anagram Anagram.java O(n) O(1)
String 125. Valid Palindrome Palindrome.java O(n) O(1)
String 344. Reverse String Reverse.java O(n) O(1)
String 387. First Unique Character in a String FirstUniqueChar.java O(n) O(1)
LinkedList 206. Reverse Linked List Reverse.java O(n) O(1)
Queue 622. Design Circular Queue CircularQueue.java O(1) O(n)
Queue 346. Moving Average from Data Stream MovingAverage.java O(1) O(n)
Stack 155. Min Stack MinStack.java O(n) O(n)
Stack 739. Daily Temperatures DailyTemperatures.java O(n) O(n)
Graph 200. Number of Islands NumberOfIslands.java O(m*n) O(m*n)
Graph 286. Walls and Gates WallsAndGates.java O(m*n) O(m*n)
HashTable 146. LRU Cache LRUCache.java O(1) O(n)

Implemented Data Structures

Data Structure Implementation in Java
Binary Search Tree BinarySearchTree.java
AVL Tree AvlTree.java
Red-Black Tree RedBlackTree.java
Splay Tree SplayTree.java
Fenwick Tree FenwickTree.java
Singly Linked List SinglyLinkedList.java
Doubly Linked List DoublyLinkedList.java
Binary Heap BinaryHeap.java