Tests and implementations for common data structures.
Base repository for the Core Data Structures goal.
npm i
npm test
List of specifications (specs) for the completed goal. These are declarative sentences (statements) describing a feature of the final product.
This is a core goal. The specifications are non-negotiable. To complete this goal, you must complete all specs listed below.
- 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.
- For each data structure identified above, there exists:
- a test file with unit tests for each method and property.
- an implementation file with a correct implementation of the data structure.
Data Structures Completed
- Stack
- Set
- Queue
- Priority Queue
- Linked List
- Hash Table (mostly complete)
- Doubly-Linked List
- Binary Search Tree
- Directed Graph
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]