1

我有一个问题:给定一个包含 0 或 1 的数组 nxm,我需要将 0 值分组为矩形。一开始,我用的是一个简单的四叉树,但是树的同一层的不同节点具有相同的值。我不完全确定 R-tree 是否适用于我的问题或其他数据结构,因为我只会在预计算步骤中使用此结构,仅此而已。

ps:我正在处理 2D 图像

4

1 回答 1

0

我会选择递归解决方案。类似的东西

iszeroes returns 1 if matrix has only zeroes
def search_for_zeroes(matrix, colormatrix)
!   conquer - part, matrix is essentially only a cell   
    if size(matrix) .eq. 1 then 
        search_for_zeroes = iszeroes(matrix)
        if iszeroes(colormatrix(matrix)then 
            colormatrix(matrix) = black) 
        end if  
    end if
!   divide - part, looks if four cells are all zero and colors them black
    if search_for_zeroes(upper_left) and search_for_zeroes(upper_right) 
        and search_for_zeroes(lower_left) and search_for_zeroes(lower_right) then
        search_for_zeroes = true
        colormatrix(matrix) = black         
    end if

我自己没有编码,只是伪代码。我今天下班时会改变它,但这也应该有效。干杯

于 2010-08-20T09:39:12.170 回答