Skip to content

timjam/DSnA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data structures and Algorithms

Started this project during the Covid-19 Stay Home period to have something meaningful to do. The purpose of this project is to repeat and practice implementing common data structures and algorithms using only the language specific basic tooling, meaning all the data structures and algorithms have to be implemented.

Languages

Plan is to implement all these at least in following languages, IF there's enough time

  1. TypeScript (ES6) (Currently ongoing. Check marks on boxes represents TS progress)
  2. Python 3
  3. Java
  4. C++

Rules

  • Only language specific standard tooling is allowed.
  • External libraries has to be avoided as much as possible.
  • Usage of already implemented algorithms, data structures, helpers and other possible libraries in this project is allowed

Algorithms

  1. A*
  2. Binary search
  3. Bloom filter
  4. Breadth-first iterative search
  5. Closest pair
  6. Dijkstra's algorithm
  7. Floyd-Warshall algorithm
  8. K-Way merge
  9. Various sorting algorithms
    1. Bubble sort
    2. Selection sort
    3. Insertion sort
    4. In-place quick sort
    5. Bucket sort
    6. Radix sort
  10. Travelling Salesman

Data structures

  1. Binary search tree
  2. Circular queue
  3. Hash map
  4. Linked list
  5. Priority queue
  6. Queue
  7. Set
  8. Stack
  9. Vector

Design Patterns

These are as listed on Wikipedia

Creational Patterns

  1. Abstract Factory
  2. Builder
  3. Dependency injection
  4. Factory method
  5. Lazy initialization
  6. Multiton
  7. Object pool
  8. Prototype
  9. Resource acquisition is initialization (RAI)
  10. Singleton

Structural Pattarns

Behavioral Patterns

Concurrency Patterns

About

Practicing programming by implementing some general known data structures and algorithms during this 'stay home' period

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages