פורסם 2007 במאי 718 שנים גישה מעניינת. מעין גישת cellular automata לאותה בעיה.מה שמעניין במיוחד זה ששתי הגישות (סריקת raster לזיהוי אוביקטים והגישה של omniscience) בסופו של דבר עוברות כנראה בצורה דומה על המטריצה ומביאות לאותה תוצאה.למרות הכל נראה לי שמעבר ישיר על המטריצה יהיה יותר מהיר.
פורסם 2007 במאי 718 שנים סתם, כל מני שטויות (שימוש במבנה נתונים אחר, שינוי סדר פעולות וכו'), אבל בסוף נראה לי שהמימוש שלי לא יעיל במטריצות גדולות (השאלה אם זה נובע מהמימוש הבסיסי של הרעיון, או מהמימוש בפועל בשפה שבחרתי ומגבלות של מבני הנתונים הבסיסים שלה).
פורסם 2007 במאי 718 שנים לדעתי הגישה לא מתאימה לבעיה פשוטה כזו. אתה מתייחס לכל תא כאוביקט פעיל, שעושה את העבודה. ב-connected component analysis מתייחסים לתאים כסתם חתיכות נתונים במטריצה.במקום לולאה פשוטה שעוברת על כמות קטנה יחסית של נתונים, יש לך לולאה מסובכת יותר שעוברת על כמות גדולה של נתונים.לדוגמא: נניח שאתה עובד ב-C++ והגדרת מטריצה של אובייקטים, וגודל כל אובייקט הוא 20 בתים (מערך, vptr, ועוד שטויות). כבר צריך לעבור על יותר זכרון בשביל לעשות את העבודה. וזה לא כולל את שאר התקורות (אתחולים והקצאות).עכשיו ניקח את הגרסה הישירה יותר: יש מטריצה של תאים, כאשר כל תא הוא בדיוק בית (ואפשר לצמצם כך שכל תא הוא ביט). צריך לעבור על הרבה פחות זכרון. זה כבר חוסך המון.הערה: בתור שעשוע, אפשר לתכנן את האוביקטים כך שעדיין זה יראה כאילו כל תא הוא אובייקט, אבל ללא העלות הנוספת. כנראה ע"י flyweight או משהו דומה. זה קצת אידיוטי במקרה זה אבל כתרגיל זה נחמד.
פורסם 2007 במאי 718 שנים מחבר המטריצה שאני הולך לעבוד עליה היא קטנה בקצת מהמטריצות שהרצת שם.בסופו של דבר, כל האלגוריתמים דיי דומים אחד לשני. השימוש בFLYWEIGHT דומה(בערך) לשמירת הPARENT שהוצג באולגוריתם שנמצא בדף הקודם.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.