Skip to content

A comprehensive collection of algorithms, data structures, design patterns, and coding challenges implemented in multiple programming languages for learning and showcasing language proficiency.

License

Notifications You must be signed in to change notification settings

CH6832/polyglot-coding-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polyglot Coding Playground

📰 About the project

Polyglot Coding Playground is a comprehensive repository aimed at showcasing proficiency in various programming languages through implementations of algorithms, data structures, design patterns, coding challenges, and small projects. Whether you're a beginner looking to learn new languages or an experienced developer wanting to dive deeper into language syntax, this repository provides a valuable resource for exploration and learning. Detailed explanations on how the algorithms work can be found in the respective source code.

📓 Content overview

Algorithms

.
└── algorithms/
    ├── backtracking/
        ├── rat-in-a-maze/ - cpp, java, python
        └── travelling-salesman-problem/ - cpp, java, python        
    ├── compression/
        ├── huffman/ - cpp, java, python
        ├── lempel-ziv-welch/ - cpp, java, python            
        └── z-algorithm/ - cpp, java, python          
    ├── computational-geoemtry/
        └── convex-hull/ - cpp, java, python
    ├── cryptography/
        ├── rsa-encryption/ - cpp, java, python
        └── sha256-hashing/ - cpp, java, python          
    ├── differential-equations/
        ├── euler-method/ - cpp, java, python
        └── runge-kutta/ - cpp, java, python          
    ├── divide-and-conquer/
        └── lowest-common-ancestor/ - cpp, java, python        
    ├── dynamic-programming/
        └── knapsack-problem/ - cpp, java, python
    ├── graph/
        ├── breadth-first-search/ - cpp, java, python
        ├── depth-first-search-for-a-graph/ - cpp, java, python            
        └── shortest-path-problem-with-dijkstra/ - cpp, java, python         
    ├── linear-algebra/
        ├── eigenvalue-algorithms/ - python
            ├── lanczos-algorithm/ - python
            ├── power-iteration/ - python            
            └── qr-algorithm/ - python                     
        ├── gaussian-elimination/ - python
        ├── jacobi-iteration/ - python            
        └── least-squares-method/ - python         
    ├── machine-learning/
        └── linear-regression/ - cpp, java, python
    ├── matrix-algorithms
        ├── eigenvalue-algorithms/
            ├── power-iteration/ - cpp, java, python
            └── qr-algorithm/ - cpp, java, python                 
        ├── lu-decomposition/ - cpp, java, python            
        ├── qr-decomposition/ - cpp, java, python
        └── singular-value-decomposition/ - cpp, java, python            
    ├── number-theory/
        └── euclid/ - cpp, java, python
    ├── numerical-integration/
        └── monte-carlo/ - cpp, java, python
    ├── numerical-optimization-algorithms
        ├── classical-genetic-algorithms/ - cpp, java, python
        ├── conjugate-gradient/ - cpp, java, python
        ├── gradient-descent/ - cpp, java, python
        └── simulated-annealing/ - cpp, java, python          
    ├── root-finding-optimization/
        ├── gradient-descent/ - cpp, java, python            
        └── newtons-method/ - cpp, java, python 
    ├── searching/
        ├── binary-search/ - python         
        ├── boyer-moore/ - python            
        ├── informed-search/
            ├── a-graph-search/ - java
            └── greedy-search/ - java, python
        ├── knutt-morris-pratt/ - python
        ├── linear-search/ - python
        ├── rabin-karp/ - python
        └── uninformed-search/
            ├── breadth-first-search/ - java, python
            ├── depth-first-search/ - java, python
            └── uniform-cost-search/ - java, python
    ├── signal-processing/
        └── fast-fourier-transform/ - cpp, java
    ├── sorting/
        ├── bubble-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        ├── bucket-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        ├── counting-sort/ - cpp, csharp, java, python, rust, swift, zig
        ├── heap-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        ├── insertion-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        ├── merge-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        ├── quick-sort/ - cpp, csharp, golang, java, python, rust, swift, zig
        └── topological-sort-of-dag/ - cpp, csharp, golang, java, python, rust, swift, zig
    ├── statistical-analysis             
        ├── bayesian-inference/ - cpp, java
        ├── least-squares-fitting/ - cpp, java
        └── maximum-likelihood-estimation/ - cpp, java
    └── trees/
        ├── avl/ - cpp, java
        ├── binary-search-tree/ - cpp, java
        ├── fenwick-tree/ - cpp, java
        ├── kd-tree/ - cpp, java
        ├── minimum-spanning-tree-with-kruskal/ - cpp, java
        ├── nearset-neighbour-with-kd-tree/ - cpp, java
        ├── breadth-first-search/ - cpp, java
        ├── prefix-tree/ - cpp, java
        ├── radix-tree/ - cpp, java
        ├── segment-tree/ - cpp, java
        ├── splay-tree/ - cpp, java
        ├── suffix-tree/ - cpp, java
        └── tree-map/ - cpp, java

Data Structures

.
└── data-structures/
    ├── disjoint-set/ - cpp, java
    ├── double-linked-list/ - cpp, java    
    ├── dynamic-array/ - cpp, java
    ├── hash-map/ - cpp, java
    ├── heap/ - cpp, java
    ├── lock-free-linked-list/ - cpp, java    
    ├── object-oriented-programming/ - cpp, java
    ├── single_linked-list/ - cpp, java           
    ├── skip-list/ - cpp, java
    ├── suffix-array/ - cpp, java
    └── user-defined-data-structures-in-python/ - python: binary tree, graph, linked list, queue and stack

Design Patterns

.
└── design-patterns/
    ├── abstract-factory-pattern/ - cpp, java, python
    ├── adapter-pattern/ -  cpp, java, python    
    ├── builder-pattern/ - cpp, java, python
    ├── command-pattern/ - cpp, java, python
    ├── composite-pattern/ - cpp, java, python
    ├── decorator-pattern/ - cpp, java, python    
    ├── factory-method-pattern/ - cpp, java, python
    ├── flyweight-pattern/ - cpp, java, python           
    ├── oberserver-pattern/ - cpp, java, python    
    ├── prototype-pattern/ - cpp, java, python
    ├── proxy-pattern/ - cpp, java    
    ├── singleton-pattern/ - cpp, python
    ├── strategy-pattern/ -  cpp, java, python
    └── template-method-pattern/ -  cpp, java, python

Coding Challenges

.
└── coding-challanges/ - Challenge your problem-solving skills with coding challenges from popular platforms, implemented in different languages.
    ├── leetcode (Progress)
    └── hackerrank (Progress)

Note: This repository is a work in progress and will be regularly updated with new content and improvements. Your feedback and contributions are highly appreciated!

📚 Resources used to create this project

🔖 License

This project is licensed under the terms of the MIT License.

©️ Copyright

See the COPYRIGHT file for copyright and licensing details.

About

A comprehensive collection of algorithms, data structures, design patterns, and coding challenges implemented in multiple programming languages for learning and showcasing language proficiency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published