平面3 - 树嵌入性与近似算法及稀疏图子图计数动态数据结构
平面3 - 树的点集嵌入性
在平面3 - 树的研究中,点集嵌入性是一个重要的问题。给定一个具有n个顶点的平面3 - 树G和一个在二维平面上处于一般位置的n个点的集合S,我们可以在$O(n log^3 n)$时间和$O(n)$空间内判断G在S上的点集嵌入性,并在存在嵌入时计算出这样的嵌入。
时间复杂度的推导如下:
$T (n) = T (n_1) + T (n_2) + T (n_3) + O((n_2 + n_3) log_2 n)$
$\leq d n_1 log_3 n_1 + d n_2 log_3 n_2 + d n_3 log_3 n_3 + c(n_2 + n_3) log_2 n$
$\leq d n_1 log_3 n + d n_2 log_2 n log n + d n_3 log_2 n log n + c(n_2 + n_3) log_2 n$
$= d n_1 log_3 n + d n_2 log_2 n(log n - 1) + d n_3 log_2 n(log n - 1) + c(n_2 + n_3) log_2 n$
$= d(n_1 + n_2 + n_3) log_3 n - (d - c)(n_2 + n_3) log_2 n$
$\leq d n log_3 n$
初始数据结构D的构建时间为$O(n log_2 n)$,但这个时间复杂度被$T (n)$所主导。使用Brodal和Jacob的动态平面凸包数据结构,每次更新的摊还时间为$O(log n)$,相比Overmars和van Leeuwen的数据结构,可以提高算
超级会员免费看
订阅专栏 解锁全文
1091

被折叠的 条评论
为什么被折叠?



