A method and apparatus for determining an approximated solution to the
partitioning of a two or greater dimensional array in an amount of time on
the order of O(1). Given a desired maximum weight or a maximum number of
partitions, an array of data is partitioned by determining a temporary
division of the array of blocks such that each block has a weight of at
least two times the desired maximum weight. Within each block, rectangles
are determined which contain array elements greater than or equal to an
arbitrary value corresponding to a guess at a maximum weight. From among
these rectangles, a largest set of independent rectangles is determined,
and partitions are defined based on the sides of the largest set of
independent rectangles determined for each block. Select ones of the
partitions may be deleted until a total number of defined partitions is
equal to or less than a desired maximum number of partitions.
Μια μέθοδος και μια συσκευή για μια προσεγγισμένη λύση στο χωρισμό δύο ή μεγαλύτερη διαστατική σειρά σε ένα χρονικό διάστημα σε παραγγελία του ο (1). Λαμβάνοντας υπόψη ένα επιθυμητό μέγιστο βάρος ή έναν μέγιστο αριθμό χωρισμάτων, μια σειρά στοιχείων χωρίζεται με τον καθορισμό ενός προσωρινού τμήματος της σειράς φραγμών έτσι ώστε κάθε φραγμός έχει ένα βάρος τουλάχιστον δύο φορές του επιθυμητού μέγιστου βάρους. Μέσα σε κάθε φραγμό, τα ορθογώνια καθορίζονται που περιλαμβάνουν τα στοιχεία σειράς μεγαλύτερο ή ίσο μια αυθαίρετη αξία που αντιστοιχεί σε μια εικασία σε ένα μέγιστο βάρος. Από μεταξύ αυτών των ορθογωνίων, ένα μεγαλύτερο σύνολο ανεξάρτητων ορθογωνίων καθορίζεται, και τα χωρίσματα καθορίζονται βασισμένος στις πλευρές του μεγαλύτερου συνόλου ανεξάρτητων ορθογωνίων που καθορίζεται για κάθε φραγμό. Επιλέξτε το αυτό των χωρισμάτων μπορεί να διαγραφεί έως ότου ένας συνολικός αριθμός καθορισμένων χωρισμάτων είναι ίσος με ή λιγότερο από έναν επιθυμητό μέγιστο αριθμό χωρισμάτων.