לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 02-06-2007, 20:12
  suncan suncan אינו מחובר  
 
חבר מתאריך: 18.01.05
הודעות: 180
שאלה בDFS

ראיתי את האלגוריתם של DFS. הבנתי שלכל קודקוד בגרף נשמרים : 1. ההורה 2. ה"time" שבו הגיעו אליו 3. הצבע שלו.

האלגוריתם נראה כך :
איתחול:
for all nodes u do
{ colour[u]=white;
p[u]=NULL;
}
time = 0;

for all nodes u do
if colour[u] == white then DFS(u);
וכעת האלגוריתם עצמו:
DFS(u):

visit(u);
time = time + 1;
d[u] = time;
colour[u] = grey;

for all nodes v adjacent to u do
{ if colour[v] == white then
{ p[v] = u;
DFS(u);
}
}

time = time + 1;
f[u] = time;
colour[u] = black;

רציתי לדעת במה כל אחד מהמשתנים שנשמרים לי לכל קודקוד עוזר לי למציאת תכונות של הגרף. לדוג' - איך "לשדרג" את האלגוריתם ע"מ שימצא אם יש לי מעגלים בגרף.

וכעת השאלה העיקרית:
נניח שנתון לי גרף לא מכוון שלכל קודקוד מקס' 3 שכנים. איך ניתן, בסיבוכיות הנמוכה ביותר, לדעת האם יש מעגל שגודלו לא מתחלק ב3, ואם כן להדפיס אותו.

תודה רבה למדריכים ולעוזרים.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 09:06

הדף נוצר ב 0.03 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר