Skip to content

A simple library to solve linear partitioning problem [O(n²)]

Notifications You must be signed in to change notification settings

technically-php/linear-partitioning

Repository files navigation

PHP solution to Linear Partition Problem

Based on a description from The Algorithm Design Manual book by Steven S. Skiena.

  • Leverages the Dynamic Programming principle
  • O(n²) complexity
  • Fully annotated code
  • Test suite
  • Semver

Installation

composer require technically-php/linear-partitioning:^1.0

Usage

use \TechnicallyPhp\LinearPartitioning\LinearPartitioning;

$items = [100, 200, 300, 400, 500, 600, 700, 800, 900];
$ranges = LinearPartitioning::partition($items, 3);

var_dump($ranges);
// [ [100, 200, 300, 400, 500], [600, 700], [800, 900] ]

Credits