Skip to content

Commit fbdd24a

Browse files
📚 docs: Document solvers.
1 parent 42ff4a8 commit fbdd24a

4 files changed

+42
-0
lines changed

src/integerValuesKnapsack.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
import assert from 'assert';
22
import {sum} from '@aureooms/js-itertools';
33

4+
/**
5+
* Exact DP solution to the 0-1 knapsack problem with integer values given a known
6+
* upper bound V on OPT. Runs in O(nV) time.
7+
*
8+
* @param {Array} v Values.
9+
* @param {Array} w Weights.
10+
* @param {Number} n Size of the problem.
11+
* @param {Number} W Size of the knapsack.
12+
* @param {Number} V Any upper bound on OPT >= 0.
13+
* @param {Array} m Memory buffer.
14+
*/
415
const integerValuesKnapsack = (
516
v,
617
w,

src/integerValuesKnapsackUnbounded.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ import assert from 'assert';
22
import {increasing} from '@aureooms/js-compare';
33
import {max, map, range} from '@aureooms/js-itertools';
44

5+
/**
6+
* Exact DP solution to the unbounded knapsack problem with integer values
7+
* given a known upper bound V on OPT. Runs in O(nV) time.
8+
*
9+
* @param {Array} v Values.
10+
* @param {Array} w Weights.
11+
* @param {Number} n Size of the problem.
12+
* @param {Number} W Size of the knapsack.
13+
* @param {Number} V Any upper bound on OPT >= 0.
14+
* @param {Array} m Memory buffer.
15+
*/
516
const integerValuesKnapsackUnbounded = (
617
v,
718
w,

src/integerWeightsKnapsack.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import assert from 'assert';
22

3+
/**
4+
* Exact DP solution to the 0-1 knapsack problem with integer weights.
5+
* Runs in O(nW) time.
6+
*
7+
* @param {Array} v Values.
8+
* @param {Array} w Weights.
9+
* @param {Number} n Size of the problem.
10+
* @param {Number} W Size of the knapsack.
11+
* @param {Array} m Memory buffer.
12+
*/
313
const integerWeightsKnapsack = (
414
v,
515
w,

src/integerWeightsKnapsackUnbounded.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import assert from 'assert';
22

3+
/**
4+
* Exact DP solution to the unbounded knapsack problem with integer weights.
5+
* Runs in O(nW) time.
6+
*
7+
* @param {Array} v Values.
8+
* @param {Array} w Weights.
9+
* @param {Number} n Size of the problem.
10+
* @param {Number} W Size of the knapsack.
11+
* @param {Array} m Memory buffer.
12+
*/
313
const integerWeightsKnapsackUnbounded = (
414
v,
515
w,

0 commit comments

Comments
 (0)