מה פתאום! ../images/Emo62.gif
אפשר למשל ככה: 1. מאפסים את מונה הגושים. 2. רצים על כל הפיקסלים. 3. אם הפיקסל לבן, מתעלמים ממנו. 4. אם הפיקסל שחור, מבצעים את הפעולות הבאות: 4.1. אם משמאלו ומעליו יש פיקסלים לבנים, מוסיפים 1 למונה הגושים. 4.2. אם משמאלו ומעליו יש פיקסלים שחורים, ובאלכסון שמאלה-למעלה יש פיקסל לבן, מחסירים 1 ממונה הגושים. 4.3. בשאר המקרים לא עושים שום דבר. סוף. השאלה היא, אם זה באמת יותר מהיר מהאלגוריתם הראשון שהצעתי. דבר ראשון, תלוי איך מוצגים הנתונים. אם מדובר בפיקסלים פיזייםפ בצג, שבאמת צריך לקרוא אותם אחד-לאחד, או שאפשר לדבר על משתנים רגילים, שגם יש לנו אפשרות לבחור את המבנה שלהם, כמו שהצגתי ב-MUMPS (ואפשר להציגם גם אחרת). דבר שני, תלוי מהו האופי הרווח של הגושים. ברור, שבמקרה של לוח שחמט האלגוריתם האחרון, הפשוט יותר, גם יהיה מהיר יותר. לעומת זאת, בדוגמה של הציור שהצגת, חוששני שהאלגוריתם הראשון שהצעתי יהיה מהיר יותר, וגם די פשוט לכתיבה, לפחות ב-MUMPS. אם לא אתעצל, אריץ תכנית שתשווה את זמני הביצוע של שני האלגוריתמים.