Risteyksen ongelma

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 11. toukokuuta 2021 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

Janan leikkauspisteen ongelmana on määrittää , leikkaavatko mitkään kaksi janaa tietystä listasta tasossa .

Yksinkertaiset algoritmit tarkistavat jokaisen segmentin parin. Jos kuitenkin tarkastetaan suuri määrä viivan osia leikkauspisteiden varalta, tehtävästä tulee asteittain tehoton, koska useimmat janaparit eivät ole lähellä toisiaan normaalissa syötössä. Yleisin ja tehokkaampi tapa ratkaista tämä ongelma suurella määrällä segmenttejä on käyttää pyyhkäisyviivaalgoritmia , jossa kuvittelemme osien läpi kulkevan suoran ja seuraamme segmenttien leikkauspisteitä binäärihakuun perustuvan tietorakenteen avulla. puita . Shamos-Howey-algoritmi [1] käyttää tätä periaatetta ratkaistakseen viivaosien leikkauspisteen löytämisongelman, kuten edellä on kuvattu. Bentley-Ottmann-algoritmitoimii samalla periaatteella ja löytää luettelon kaikista risteyksistä logaritmisessa ajassa per leikkaus.

Katso myös

Muistiinpanot

  1. Shamos ja Hoey 1976 , s. 208.

Kirjallisuus

Linkit