Problém s křižovatkou

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 11. května 2021; ověření vyžaduje 1 úpravu .

Problém průsečíku segmentů je určit, zda se nějaké dva segmenty z daného seznamu protínají v rovině .

Jednoduché algoritmy kontrolují každý pár segmentů. Pokud však má být zkontrolováno, zda se protínají velké množství liniových segmentů, úloha se stává postupně neefektivní, protože většina párů liniových segmentů neleží blízko sebe při běžném vstupu. Nejběžnějším a nejúčinnějším způsobem, jak tento problém vyřešit pro velký počet segmentů, je použít algoritmus sweeping line , ve kterém si představíme čáru procházející segmenty a sledujeme průsečíky segmentů pomocí datové struktury založené na binárním vyhledávání . stromy . Algoritmus Shamos-Howey [1] používá tento princip k řešení problému nalezení průsečíku úseček, jak je popsáno výše. Algoritmus Bentley-Ottmann pracuje na stejném principu a najde seznam všech průsečíků v logaritmickém čase na průsečík.

Viz také

Poznámky

  1. Shamos and Hoey 1976 , str. 208.

Literatura

Odkazy