Mam aplikację, która tworzy losowe obrazy na podstawie wiązań. Różne kolorowe piksele są losowo wybierane i umieszczane w siatce spełniającej wszystkie ograniczenia. Na przykład (upraszczając) może istnieć ograniczenie, które mówi, że niebieski i zielony piksel ma wartość (0, -1), a czerwone piksele to (-1, -1) i (-1, 0), a następnie umieszczenie biały piksel jest zabroniony. Te współrzędne są wektorami z bieżącego położenia miejsca docelowego (to znaczy z sąsiedztwa).Struktura danych do rozpoznawania wzorców w oparciu o piksele
W tej chwili przechowuję ograniczenia w tablicy i przechodzę przez nie, sprawdzając, czy każdy z nich ma zastosowanie, czy nie. Muszę to zrobić dla każdego piksela, który umieściłem w siatce. Tak więc wydajność cierpi wraz z dodatkowymi ograniczeniami. Możliwe jest również, że dwa ograniczenia są w konflikcie, ale nie jest łatwo to sprawdzić.
Myślę, że struktura danych typu wykresu (drzewo?) Może być sposobem przechowywania wszystkich wiązań, tak, że mogę szybko określić z sąsiedztwa piksela, które mają zastosowanie (jeśli jakiekolwiek) ograniczenia. Ale nie jestem w stanie wymyślić, jak sprawić, aby taka struktura działała, biorąc pod uwagę, że pojedyncza współrzędna może zawierać wiele kolorów i jak powiązać zestaw współrzędnych/kolorów z zestawem zabronionych kolorów pikseli. Jakieś pomysły?
Dzięki! To działa w dobrym kierunku. Nigdy wcześniej nie słyszałem o cięciach wykresów. – jasonm76