 In many randomized algorithms in computational geometry , the algorithm maintains a history DAG representing the version history of a geometric structure over the course of a sequence of changes to the structure . For instance in a randomized incremental algorithm for Delaunay triangulation , the triangulation changes by replacing one triangle by three smaller triangles when each point is added , and by " flip " operations that replace pairs of triangles by a different pair of triangles . The history DAG for this algorithm has a vertex for each triangle constructed as part of the algorithm , and edges from each triangle to the two or three other triangles that replace it . This structure allows point location queries to be answered efficiently : to find the location of a query point q in the Delaunay triangulation , follow a path in the history DAG , at each step moving to the replacement triangle that contains q . The final triangle reached in this path must be the Delaunay triangle that contains q . 
 In many randomized algorithms in computational geometry , the algorithm <a href='uninflect' title='1'><mark>maintains</mark></a> a history DAG representing the version history of a geometric structure over the course of a sequence of changes to the structure . For instance in a randomized incremental algorithm for Delaunay triangulation , the triangulation <a href='uninflect' title='2'><mark>changes</mark></a> by replacing one triangle by three smaller triangles when each point is added , and by " flip " operations <a href='null_relcl' title='3'><mark>that</mark></a>replace pairs of triangles by a different pair of triangles . The history DAG for this algorithm <a href='got' title='4'><mark>has</mark></a> a vertex for each triangle constructed as part of the algorithm , and edges from each triangle to the two or three other triangles <a href='null_relcl' title='5'><mark>that</mark></a>replace it . This structure <a href='uninflect' title='6'><mark>allows</mark></a> point location queries to be answered efficiently : to find the location of a query point q in the Delaunay triangulation , follow a path in the history DAG , at each step moving to the replacement triangle <a href='null_relcl' title='7'><mark>that</mark></a><a href='uninflect' title='8'><mark>contains</mark></a> q . The final triangle reached in this path must be the Delaunay triangle <a href='null_relcl' title='9'><mark>that</mark></a><a href='uninflect' title='10'><mark>contains</mark></a> q . 
In many randomized algorithms in computational geometry , the algorithm maintain a history DAG representing the version history of a geometric structure over the course of a sequence of changes to da structure . For instance in a randomized incremental algorithm fa Delaunay triangulation , the triangulation change by replacing one triangle by three smaller triangles when each point is added , and by " flip " operations replace pairs of triangles by a diffrent pair of triangles . The history DAG for dis algorithm got a vertex for each triangle constructed as part of the algorithm , and edges from each triangle to the two or three other triangles replace it . This structure allow point location queries to be answered efficiently : to find the location of a query point q in tdaDelaunay triangulation , follow a path in thdaistory DAG , at each step moving to thedaplacement triangle contain q . The daal triangle reached in tdispath must be the Delaunay triangle contain q .