From 3aaaed7baa723e5d9b9b700fd191c2e08d8d8521 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Tue, 2 Nov 2010 23:22:29 -0300 Subject: [PATCH] =?utf8?q?Aclarar=20explicaci=C3=B3n=20sobre=20abstracci?= =?utf8?q?=C3=B3n=20tri-color?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Se aclara que la invariante se mantiene considerando como atómica la operación de pintar una celda de negro y a sus hijas directas de gris. --- source/gc.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/gc.rst b/source/gc.rst index ae398cf..1bf5867 100644 --- a/source/gc.rst +++ b/source/gc.rst @@ -587,10 +587,11 @@ y se las pinta de negro, pintando sus hijas directas de gris. Una vez que no hay más celdas grises, tenemos la garantía de que las celdas negras serán el *live set* y las celdas blancas *basura*. Esto se debe a que siempre se mantiene esta invariante: **ninguna celda negra apunta directamente -a una celda blanca**. Las celdas blancas siempre son apuntadas por celdas -blancas o grises. Entonces, siempre que el conjunto de celdas grises sea -vacío, no habrán celdas negras conectadas a blancas, siendo las celdas blancas -*basura*. +a una celda blanca** (considerando como atómica la operación de pintar una +celda de negro y a sus hijas directas de gris). Las celdas blancas siempre son +apuntadas por celdas blancas o grises. Entonces, siempre que el conjunto de +celdas grises sea vacío, no habrán celdas negras conectadas a blancas, siendo +las celdas blancas *basura*. El algoritmo básico para marcar con tres colores es el siguiente (asumiendo que todas las celdas parten pintadas de blanco, es decir, el conjunto blanco -- 2.43.0