This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies.
The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algorithms such as bubble sort and selection sort are included, alongside binary search for efficient lookup in sorted arrays. The project also provides base64 encoding and decoding utilities for binary-to-text data conversion, and a Luhn algorithm implementation for validating numeric identifiers like credit card numbers.
Each module is designed as an independent, reusable function, making the collection suitable for studying how these algorithms and data structures work internally. The code uses JavaScript generator functions to provide iterable interfaces for custom data structures, enabling use with standard iteration protocols.