我需要使用一定数量的AVL树来实现类型为(x_coord, y_coord, color)
的像素三元组网格。
特别是,我应该能够执行这个功能:
nextInRow(x,y)
nextInCol(x,y)
readColor(x,y)
复杂度 O(log n)。
我完全迷失了,不知道如何有效地做到这一点。 任何帮助或指针将不胜感激。
答案 0 :(得分:1)
使用AVL树实现此目的的一种聪明方法是使用两个单独的AVL树,一个按x坐标排序,另一个按y坐标排序。因此,您将使用第一个实现nextInRow(x,y)
,第二个实现nextInCol(x,y)
。
请注意,您应该将一棵树的更改与另一棵树同步。