CroMarmot / algo

Controllable time complexity of the algorithms library

Home Page:https://www.npmjs.com/package/@cromarmot/algo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

algo

CircleCI Node.js CI

the algorithms library with controllable time complexity.

Install

yarn add @cromarmot/algo

Functions

isEven

Constant

const{ CompManager } = require("@cromarmot/algo");
const isEven = require("@cromarmot/algo/dist/fp/isEven/constant").default;
const cm = CompManager.createCompManager();
cm.reg('isEven','Constant', isEven);
const isEvenConst = (v) => cm.f('isEven','Constant',v);
// or
// const isEvenConst  = cm.ff.isEven.Constant;
console.log(isEvenConst(1)); // false
console.log(isEvenConst(2)); // true
console.log(isEvenConst(3)); // false

O(N)

const{ CompManager } = require("@cromarmot/algo");
const isEven = require("@cromarmot/algo/dist/fp/isEven/n").default;
const cm = CompManager.createCompManager();
cm.reg('isEven','N', isEven);
const isEvenON = cm.ff.isEven.N;
console.log(isEvenON(1)); // false
console.log(isEvenON(2)); // true
console.log(isEvenON(3)); // false

O(Random)

const{ CompManager } = require("@cromarmot/algo");
const isEven = require("@cromarmot/algo/dist/fp/isEven/random").default;
const cm = CompManager.createCompManager();
cm.reg('isEven','Random', isEven);
const isEvenR = cm.ff.isEven.Random;
console.log(isEvenR(1)); // false
console.log(isEvenR(2)); // true
console.log(isEvenR(3)); // false

isNumberOne(NLogN)

const{ CompManager } = require("@cromarmot/algo");
const ino = require("@cromarmot/is-number-one");
const cm = CompManager.createCompManager();
cm.reg('isNumberOne','NLogN', ino);

const isNumberOne = cm.ff.isNumberOne.NLogN
console.log(isNumberOne(1)); // true
console.log(isNumberOne(2)); // false
console.log(isNumberOne(3)); // false

Test

yarn test

Cover

yarn cover

About

Controllable time complexity of the algorithms library

https://www.npmjs.com/package/@cromarmot/algo

License:MIT License


Languages

Language:JavaScript 71.2%Language:TypeScript 28.8%