עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

הגדלת הSTACK בvisual c 2005

Featured Replies

פורסם

גישה מעניינת. מעין גישת cellular automata לאותה בעיה.

מה שמעניין במיוחד זה ששתי הגישות (סריקת raster לזיהוי אוביקטים והגישה של omniscience) בסופו של דבר עוברות כנראה בצורה דומה על המטריצה ומביאות לאותה תוצאה.

למרות הכל נראה לי שמעבר ישיר על המטריצה יהיה יותר מהיר.

פורסם

סתם, כל מני שטויות (שימוש במבנה נתונים אחר, שינוי סדר פעולות וכו'), אבל בסוף נראה לי שהמימוש שלי לא יעיל במטריצות גדולות (השאלה אם זה נובע מהמימוש הבסיסי של הרעיון, או מהמימוש בפועל בשפה שבחרתי ומגבלות של מבני הנתונים הבסיסים שלה).

פורסם

לדעתי הגישה לא מתאימה לבעיה פשוטה כזו. אתה מתייחס לכל תא כאוביקט פעיל, שעושה את העבודה. ב-connected component analysis מתייחסים לתאים כסתם חתיכות נתונים במטריצה.

במקום לולאה פשוטה שעוברת על כמות קטנה יחסית של נתונים, יש לך לולאה מסובכת יותר שעוברת על כמות גדולה של נתונים.

לדוגמא: נניח שאתה עובד ב-C++ והגדרת מטריצה של אובייקטים, וגודל כל אובייקט הוא 20 בתים (מערך, vptr, ועוד שטויות). כבר צריך לעבור על יותר זכרון בשביל לעשות את העבודה. וזה לא כולל את שאר התקורות (אתחולים והקצאות).

עכשיו ניקח את הגרסה הישירה יותר: יש מטריצה של תאים, כאשר כל תא הוא בדיוק בית (ואפשר לצמצם כך שכל תא הוא ביט). צריך לעבור על הרבה פחות זכרון. זה כבר חוסך המון.

הערה: בתור שעשוע, אפשר לתכנן את האוביקטים כך שעדיין זה יראה כאילו כל תא הוא אובייקט, אבל ללא העלות הנוספת. כנראה ע"י flyweight או משהו דומה. זה קצת אידיוטי במקרה זה אבל כתרגיל זה נחמד.

פורסם
  • מחבר

המטריצה שאני הולך לעבוד עליה היא קטנה בקצת מהמטריצות שהרצת שם.

בסופו של דבר, כל האלגוריתמים דיי דומים אחד לשני. השימוש בFLYWEIGHT דומה(בערך) לשמירת הPARENT שהוצג באולגוריתם שנמצא בדף הקודם.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.