Nodeschool Public Materials

    @vanillaes/computer-science
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.16 • Public • Published

    Computer Science

    A collection of Computer Science algorithms and data structures implemented using bleeding-edge JavaScript features and capabilities

    GitHub Release NPM Release Latest Status Release Status

    Discord

    ⚠️ Notice: This lib uses experimental features that are not supported by all bundlers or browsers ⚠️

    Algorithms and data structures are essential foundations if you ever want to advance in the professional development world. The goal of this library is to provide a modern Javascript specific reference to study and experiment with a wide range of general purpose algorithms and data structures. This is by-no-means the first JS lib of its kind but it is the first that is 100% dedicated to using modern JS practices and patterns.

    Modern Javascript

    ECMAScript standards have come a long way in the past 5 years (ie ES2015 - ES2020) but it will take a lot of time for the rest of the greater JS ecosystem to catch up. This library is a 'clean room' implementation, written from scratch to use modern practices by default.

    For Example:

    • all modules ES modules
    • index.js define the public API
    • no build-tooling required
    • classes are used liberally
    • [Symbol.iterator] definitions for data structures
    • cross-browser compatibility is a low priority
    • in Node.js this package loads as type=module
    • CommonJS compatible

    That means...

    Not only does this package provide a useful reference for Computer Science principles but it also works as a reference for Modern JS best-practices.

    Usage

    All modules are written in VanillsJS as ES modules. All algorithms and data structures can be imported from the entry point.

    Ex.

    import { LinkedList, Stack } from '@vanillaes/computer-science';

    Data Structures

    Disjoint-Set

    Disjoint sets are used to determine the connectivity within a graph by grouping vertices into unique sets.

    Linear

    Linear data structures get their name because they are typically used to map 1-to-1 relationships between data elements in a one-dimensional fashion.

    Algorithms

    Misc

    Related Materials

    Install

    npm i @vanillaes/computer-science

    DownloadsWeekly Downloads

    5

    Version

    1.0.16

    License

    MIT

    Unpacked Size

    60.1 kB

    Total Files

    30

    Last publish

    Collaborators

    • evanplaice