使用AVL树实现像素网格

时间:2015-10-11 23:16:19

标签: tree binary-search-tree avl-tree

我需要使用一定数量的AVL树来实现类型为(x_coord, y_coord, color)的像素三元组网格。 特别是,我应该能够执行这个功能:

  • nextInRow(x,y)
  • nextInCol(x,y)
  • readColor(x,y)

复杂度 O(log n)

我完全迷失了,不知道如何有效地做到这一点。 任何帮助或指针将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用AVL树实现此目的的一种聪明方法是使用两个单独的AVL树,一个按x坐标排序,另一个按y坐标排序。因此,您将使用第一个实现nextInRow(x,y),第二个实现nextInCol(x,y)

请注意,您应该将一棵树的更改与另一棵树同步。