https://github.com/dye784/algos-and-data-structures
Collection of Test Specs and Implementation of various algorithms and data structures from the Princeton Coursera course: Intro to Algorithms part 1 and 2
https://github.com/dye784/algos-and-data-structures
algorithms computer-science data-structures software-engineering test-driven-development
Last synced: about 2 months ago
JSON representation
Collection of Test Specs and Implementation of various algorithms and data structures from the Princeton Coursera course: Intro to Algorithms part 1 and 2
- Host: GitHub
- URL: https://github.com/dye784/algos-and-data-structures
- Owner: dye784
- Created: 2016-12-18T18:45:19.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-23T19:45:33.000Z (almost 8 years ago)
- Last Synced: 2025-03-18T22:22:59.244Z (about 2 months ago)
- Topics: algorithms, computer-science, data-structures, software-engineering, test-driven-development
- Language: JavaScript
- Homepage:
- Size: 125 KB
- Stars: 33
- Watchers: 3
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Collection of Algorithms and Data Structures
## Starting
1. run `npm install`
2. Select Algo/Data Structure you want to work on
* remove `x` from `xdescribe` in the `.test.js` file
* Add `.only` to the first `describe` in the `.test.js` file
* like so: `describe.only('FANCY ALGO', () => {})`
3. run `npm test`
4. ???
5. Profit## Description
Each folder contains the solution, an empty file, and a file for the test specs. Most files also include a README describing the data structure or algo as well as the functions you need to implement.Most of these implementations are what I have learned from the Coursera Princton Introduction to Algos Course, Part 1 and 2, and at Fullstack Academy. Although the Coursera course is in Java, I've implemented it in JavaScript.
I have written extensive test specs so others can use this repo to do test first learning. And also to check if the functions I wrote were actually doing what they were supposed to :joy:.
### Note:
A couple of the algorithms and data structures do not yet have test specs. Also the README's could be better. Will get on that...eventually...
Said Stuff:
1. Test Specs
* All sorting algos
* KnuthShuffle
* Heap Sort Readme
* Graphs
* bfs
* dfs
2. Write better README's for sorting algos### Coming Soon:
1. Suffix Tree
2. Topological Sort (using Tarjan's algorithm)
3. Dijkstra's Algorithm
4. Longest Common Subsequence (using dynamic programming)
5. Knapsack Problem (using dynamic programming)