JavaScript Data Structures, Algorithms and Design Patterns
My aim is to implement popular data structures, algorithms and design patterns using the JavaScript programming language. I am on a never-ending learning journey and essentially "sharping the saw". I will also endeavor to provide documentation for each data structure, algorithm and design pattern, implement tests and practice using JSDoc.
DISCLAIMER:
This repo is being used as a means for learning and research. It does not intend to provide a formal explanation or implementation of data structures, algorithms and design patterns, and it should not be used as such.
Data Structures
A data structure is data organisation, management, and storage format that enables efficient access and modification. Specifically, 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.
Algorithms
An algorithm is a finite sequence of well-defined, computer-implementable instructions which solve a class of problems or to perform a computation.
Design Patterns
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.