This repository contains my implementations of popular algorithms and data structures
B
- Beginner, A
- Advanced
Is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation.
- Math
B
Euclidean Algorithm - calculate the Greatest Common Divisor (GCD)
- Sets
- Strings
- Searches
B
Binary Search- Java implementation (Iterative version)
- Java implementation (Recursive version)
- Java implementation (Iterative version)
- Sorting
- Linked Lists
- Trees
- Graphs
- Cryptography
- Uncategorized
- Statistics
- Evolutionary algorithms
An algorithmic paradigm or algorithm design paradigm is a generic model or framework which underlies the design of a class of algorithms. An algorithmic paradigm is an abstraction higher than the notion of an algorithm, just as an algorithm is an abstraction higher than a computer program.
- Backtracking
- Branch and bound
- Brute-force search
- Divide and conquer
- Dynamic programming
- Greedy algorithm
- Recursion
- Prune and search
- Kernelization
- Iterative compression
- Sweep line algorithms
- Rotating calipers
- Randomized incremental construction
A data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
A data structure is a storage that is used to store and organize data. It is a way of arranging data on a computer so that it can be accessed and updated efficiently.
- Lists
B
Array ListB
Singly Linked List- Doubly Linked List
- Sets
- Hash Set
- Tree Set
- Linked Hash Set
- Maps
- Hash Map
- Tree Map
- Linked Hash Map
- Trees
- Red Black Tree
- AVL Tree
- B Tree
- Stacks
- Linked List Stack
- Array Stack
- Queues
- LinkedListQueue
- ArrayQueue
- CircularBuffer
- PriorityQueue