| Algorithm 2: disabled_coverage_grouping (DG[]) | |
| Input: set DG[] = {g1, g2, …, gm} of disabled grids | |
| Output: set DGG[][] of disabled grid groups | |
| 1: | Let Q be a queue |
| 2: | n ← 0 //group number |
| 3: | while DG is not empty |
| 4: | g = DG.dequeue(0) |
| 5: | DGG[n].add(g) |
| 6: | Q.enqueue(g) |
| 7: | while Q is not empty |
| 8: | v = Q.dequeue() |
| 9: | Temp[] = DG[] |
| 10: | for each grid:Temp do |
| 11: | if isAdjacentGrid(v) then grid |
| 12: | DGG[n].add(grid) |
| 13: | Q.enqueue(grid) |
| 14: | DG.remove(grid) |
| 15: | endif |
| 16: | endfor |
| 17: | endwhile |
| 18: | n ← n + 1 |
| 19: | endwhile |
| 20: | return DGG[][] |