aufteilung
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

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.

Package Sidebar

Install

npm i aufteilung

Weekly Downloads

7

Version

1.1.1

License

MIT

Unpacked Size

7.7 kB

Total Files

7

Last publish

Collaborators

  • jonasstr