1.1.1 • Published 3 years ago

aufteilung v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Aufteilung

npm npm npm bundle size (version) GitHub test

Implements the Karmarkar-Karp differencing algorithm in Typescript. It can be used to evenly partition a list into two lists, while keeping their difference minimal.

Also offers a greedy partitioning algorithm, mostly for comparison.

Install

npm install aufteilung

Usage

const KK = require('karmarkar-karp');

Both functions accept an array (of integers or objects). If an object array is passed, you have to specify the property key in the object to use for comparison.

KK.greedy({ value, key}): Implements the greedy algorithm

KK.LDM({ value, key}): Implements the least differencing method

Returns an object:

var result = { 
   A: [],
   Asum: 0,
   B: [],
   Bsum: 0,
   distance: 0
};

where A and B are the two partitioned arrays from the input array, as well as metadata on the partitioning (A's sum, B's sum, and the final distance between sets).

See src/kk.test.ts for examples.

1.1.1

3 years ago

1.1.0

3 years ago

0.2.0

3 years ago