/core-data-structures

Tests and implementations for common data structures.

Primary LanguageJavaScriptMIT LicenseMIT

Core Data Structures

  • Name: Monica Williams
  • Github handle: Moniarchy
  • Team name: concerned-sloth

Tests and implementations for common data structures. See the full list in the data-structures.md file.

Base repository for the Core Data Structures goal.

Installation and Setup

  1. Clone this repo to your local machine. $ git clone https://github.com/Moniarchy/core-data-structures.git
  2. Switch into the directory. $ cd core-data-structures
  3. Install packages. $npm install

Usage and Examples

Please run tests for each data structure by using the command $ npm test on the command line. All tests should pass.

Specifications

  • Artifact produced is a fork of the [core-data-structures][core-data-structures] repo.
  • Can run all tests with npm test.
  • All tests are passing.
  • Stack implementation file exists.
  • Stack test file exists.
  • Queue implementation file exists.
  • Queue test file exists.
  • Priority Queue implementation file exists.
  • Priority Queue test file exists.
  • Linked List implementation file exists.
  • Linked List test file exists.
  • Doubly Linked List implementation file exists.
  • Doubly Linked List test file exists.

Required

  • The artifact produced is properly licensed, preferably with the [MIT license][mit-license].

Stretch

Pick a different programming language from JavaScript (e.g. Ruby, Swift, Python, C, Java...) and write tests & implementations for each.

  • Can run all non-JavaScript tests with a single command.
  • For each data structure identified above, there exists:
    • a test file with unit tests for each method and property in a language other than JavaScript.
    • an implementation file with a correct implementation of the data structure in a language other than JavaScript.

Quality Rubric

Well formatted code

  • Code uses a linter, which can be invoked with a command (e.g. npm run lint). [50 points]
  • Running the linter on all source code files generates no linting errors. [50 points]

Clear and useful README

  • Repository includes a README file with installation and setup instructions. [25 points]
  • Repository includes a README file with usage instructions and at least one example use case. [25 points]

Proper dependency management

  • There is a command to install dependencies (e.g. npm install) and it is specified in the installation and setup instructions of the README. [50 points]

Good project management

  • Commit messages are concise and descriptive. [25 points]
  • All features are added via pull requests. [25 points]
  • Every pull request has a description summarizing the changes made. [25 points]
  • Every pull request has been reviewed by at least one other person. [25 points]