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