We study the amortized number of combinatorial changes (edge insertions and removals) needed to update the graph structure of the Voronoi diagram *VD(S)* (and several variants thereof) of a set $S$ of *n* sites in the plane as sites are added to the set. To that effect, we define a general update operation for planar graphs that can be used to model the incremental construction of several variants of Voronoi diagrams as well as the incremental construction of an intersection of halfspaces in 3 Dimensional space. We show that the amortized number of edge insertions and removals needed to add a new site to the Voronoi diagram is *O(\sqrt{n})*. A matching \*Omega(\sqrt{n})* combinatorial lower bound is shown, even in the case where the graph representing the Voronoi diagram is a tree. This contrasts with the* O(\log{n})* upper bound of Aronov et al.~(2006) for farthest-point Voronoi diagrams in the special case where the points are inserted in clockwise order along their convex hull.

We then present a semi-dynamic data structure that maintains the Voronoi diagram of a set *S* of *n* sites in convex position. This data structure supports the insertion of a new site *p* (and hence the addition of its Voronoi cell) and finds the asymptotically minimal number *K* of edge insertions and removals needed to obtain the diagram of* S \cup \{p\}* from the diagram of *S*, in time *O(K\,\mathrm{polylog}\ n) *worst case, which is *O(\sqrt{n}\;\mathrm{polylog}\ n)* amortized by the aforementioned combinatorial result.

The most distinctive feature of this data structure is that the graph of the Voronoi diagram is maintained explicitly at all times and can be retrieved and traversed in the natural way; this contrasts with other structures supporting nearest neighbor queries in that they do not maintain the Voronoi diagram after each insertion. This structure supports general search operations on the current Voronoi diagram, which can, for example, be used to perform point location queries in the cells of the current Voronoi diagram in *O(\log n)* time, or to determine whether two given sites are neighbors in the Delaunay triangulation.

*Presented in Partial Fulfillment of the CSD Speaking Skills Requirement. *