Skip to content

savra/DataStructureAndAlgorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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