Skip to content

Algorithm project to build upon my algorithm writing and Clean Coding practices

Notifications You must be signed in to change notification settings

N1cky94/algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm

Algorithm is my aproach to an array of questions that need an algorithm to be solved. Most questions can be answered by pure math, but in this project, we strive to provide a correct answer by code and make sure that we keep on receiving a correct answer, when parameters shuold change.

Algorithm is split into a couple of categories like math, ... These categories are split into subcategories like math/prime, math/fibonacci, ...

A new release, will always provide an answer to a new question. Most questions come from Project Euler.

Approach

This project is a pure Java project that focuses on my approach to solve a problem by code. The code is written in a way that it can be used in a production environment, but it is not the main goal. The main goal is to provide a correct answer to a question and to make sure that the answer is still correct when parameters change. Clean Code is used to clean up the code, and reuse parts later on. The testing suite will test my algorithms as well as test for the correct answer to the problem.

Writing Approach

  1. First of all we start by describing the problem and analysing given solutions to a smaller version of the problem.
  2. We create a general method that only focuses on solving the problem once.
  3. We create a test that tests the found and correct solution to the problem.
  4. We start restructure the code to make it more readable and reusable.
  5. We write tests to accommodate all the classes and behaviour of the restructured systems.

Development and Versions

This code is my personal approach to solving problems. There for I will not be using branches in the beginning. This might change over time.

The development cycles are based on specific problems, and when a solution to a problem has been found, that commit will be provided with a tag. For example, the solution to problem 15 on project Euler is found, it gets the tag: Euler15.

Development

Currently, the following categories are available:

  • math

Currently, the following Euler questions are answered (The last element is the one in production or just produced):

  1. Multiples of 3 and 5

About

Algorithm project to build upon my algorithm writing and Clean Coding practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages