Zaawansowane algorytmy i struktury danych/Ćwiczenia 11

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zadanie 1

W inkrementalnym problemie otoczki wypukłej chcemy skonstruować algorytm przechowujący zbiór punktów Q i pozwalający na wykonywanie dwóch operacji:

  • DODAJ(p) - dodaje punkt p do zbioru Q,
  • ZAWIERA(p) - sprawdza, czy punkt p leży wewnątrz otoczki wypukłej zbioru Q.

Zaproponuj efektywny algorytm dla tego problemu?

Rozwiązanie

Zadanie 2

Niech w1,w2,,wn będą kolejnymi punktami opisującymi wierzchołki zamkniętego wielokąta W. Zaproponuj efektywny algorytm sprawdzania, czy dany punkt p leży w jego wnętrzu?

Rozwiązanie

Zadanie 3

Pokaż jak w czasie O(n2logn) sprawdzić, czy w zbiorze n punktów są trzy punkty współliniowe.

Rozwiązanie

Zadanie 4

Triangulacja zbioru punktów P to podział otoczki wypukłej P na trójkąty w ten sposób, że punkty P są wierzchołkami trójkątów. Zaproponuj algorytm wyznaczania triangulacji zbioru punktów P.

Rozwiązanie