/DataStructureAndAlgorithms

My standard algorithms implementations

Primary LanguageJava

Data Structures and Algorithms

This repository contains my implementations of popular algorithms and data structures

B - Beginner, A - Advanced


Algorithms

Is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation.

Algorithms by Topic

  • Math
  • Sets
  • Strings
  • Searches
  • Sorting
  • Linked Lists
  • Trees
  • Graphs
  • Cryptography
  • Uncategorized
  • Statistics
  • Evolutionary algorithms

Algorithms by Paradigm

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

Data Structures

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
  • 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