Node partitioning algorithm