A place to practice algorithms and data structures.
Additionally, I am beginning to add testing for the project, as I want to begin getting in the habit of testing each of my projects.
a. Stacks b. Queues c. Binary Trees d. Hashing e. Linked Lists f. Graphs g. Heaps h. Matrices.
After I have gone through and practiced with the Data Structures I will be practicing a variety of Algorithms planned thus far:
a. Recursive Algorithms b. Sorting Algorithms c. Sorting Algorithms d. Hashing Algorithms e. Divide and Conquer Algorithms f. Maze Generation and Solving and Algorithms g. Pattern Matching h. I will add other Algorithms along the way if I find them to valuable or useful to the project.
My end goal of this practice: Build examples which will use my data structures and algorithm skills and begin implementing them into my daily design projects.
Additional Objective: Begin implementing testing into all future JS Projects by using node.js and Jest. A front end interface is being designed and planned for the app.
For development, you will need Node.js installed in your environment. Additionally, you will need express.js and jest for running and testing the different algorithms and data structures.
-
Just go on official Node.js website and download the installer and follow the instructions there.
-
You can install nodejs and npm easily with apt install, just run the following commands.
$ sudo apt install nodejs $ sudo apt install npm
-
You can find more information about the installation on the official Node.js website.
If the installation was successful, you should be able to run the following command.
$ node --version
v8.11.3
$ npm --version
6.1.0
$ git clone https://github.com/jonathanlangner/algorithms-data-structures-practice
$ cd algorithms-data-structures-practice
$ npm install
$ npm test
$ node app.mjs