جستجوی عمقی - نسخهی قابل چاپ |
جستجوی عمقی - tabassomesayna - 24 دى ۱۳۹۲ ۱۲:۵۸ ب.ظ
سلام جدول زیر زمان نخستین ملاقات و زمان آخرین ملاقات را در جستجوی DFS یک گراف نمایش می دهد.در این صورت در این گراف کدامیک از یالهای زیر نمیتواند وجود داشته باشد؟ ۱-d,e ۲-a,g ۳-h,b ۴-f,e اینم پاسخ : برای کشیدن گراف مشکلی ندارم , فقط میخوام بدونم چجوری از روی این گراف تشخیص داده که h,b نمی تونه یال این گراف باشه ؟ |
RE: جستجوی عمقی - tarane.68 - 25 دى ۱۳۹۲ ۰۹:۳۹ ب.ظ
دقیقا منم با این نوع سوال مشکل دارم اگه کسی از دوستان میتونه توضیح بده ممنون میشم |
RE: جستجوی عمقی - Riemann - 25 دى ۱۳۹۲ ۰۹:۵۱ ب.ظ
چون اگه یال hb وجود داشته باشه وقتی که ما به h میرسیم از اونجا میریم و b رو ملاقات میکنیم و دیگه زمان های f,d گره b 13 14 نمیشن و میشن ۱۰و۱۱ و زمان f گره h هم میشه ۱۳/ البته فکر کنم! |
RE: جستجوی عمقی - tabassomesayna - 26 دى ۱۳۹۲ ۱۲:۵۹ ق.ظ
(۲۵ دى ۱۳۹۲ ۰۹:۵۱ ب.ظ)Riemann نوشته شده توسط: چون اگه یال hb وجود داشته باشه وقتی که ما به h میرسیم از اونجا میریم و b رو ملاقات میکنیم و دیگه زمان های f,d گره b 13 14 نمیشن و میشن ۱۰و۱۱ و زمان f گره h هم میشه ۱۳/ البته فکر کنم! ببخشید من فراموش کردم گزینه هاشو بذارم..با توجه به گزینه ها , میتونید بگید چرا مثلا" d,e یا f,e میتونه یال گراف باشه ؟؟ |
Re: جستجوی عمقی - Donna - 26 دى ۱۳۹۲ ۰۹:۳۷ ق.ظ
یه نکته داره که باید بهش توجه بشه. زمان خروج از یه گره یا همون آخرین ملاقاتش باید بیشتر از زمان خروج از یالهای مجاورش باشه.یعنی ما لیست مجاورای گره u رو داریم.آخرین ملاقات وقتیه که اون لیست رو تمام کرده باشیمو تمام مجاوراشو ملاقات کرده باشیم و دیگه کاری با گره u و مجاوراش نداشته باشیم. مثلا در de بررسی کنیم. به d میتونیم در زمان ورود ۲ وارد شیم و بررسی میکنیم میبینیم زمان آخرین ملاقات d بیشتر از زمان اولین ملاقات e هست. و چون زمان آخرین ملاقات e کمتر از زمان خروج از dهست یعنی قبل از اینکه d وقتش تموم شه e رو هم میتونیم ببینیم.پس این یال میتونه باشه. نباید زمان آخرین ملاقات d کمتر از e باشه چون در جستجوی عمقی وقتی d رو ملاقات میکنیم تموم مجاوراش میرن تو پشته تا وقتی یکی از مجاوراش یعنی e رو بررسی کنیم خود e هم باید کامل مجاوراش بررسی شده باشن و بعدا برگردیم و به گره مجاور بعدی d. امیدوارم خوب توضیح داده باشم. Sent from my GT-S5660 using Tapatalk 2 |
RE: جستجوی عمقی - tabassomesayna - 26 دى ۱۳۹۲ ۰۱:۲۸ ب.ظ
(۲۶ دى ۱۳۹۲ ۰۹:۳۷ ق.ظ)Arshad93 نوشته شده توسط: یه نکته داره که باید بهش توجه بشه. زمان خروج از یه گره یا همون آخرین ملاقاتش باید بیشتر از زمان خروج از یالهای مجاورش باشه.یعنی ما لیست مجاورای گره u رو داریم.آخرین ملاقات وقتیه که اون لیست رو تمام کرده باشیمو تمام مجاوراشو ملاقات کرده باشیم و دیگه کاری با گره u و مجاوراش نداشته باشیم. مثلا در de بررسی کنیم. به d میتونیم در زمان ورود ۲ وارد شیم و بررسی میکنیم میبینیم زمان آخرین ملاقات d بیشتر از زمان اولین ملاقات e هست. و چون زمان آخرین ملاقات e کمتر از زمان خروج از dهست یعنی قبل از اینکه d وقتش تموم شه e رو هم میتونیم ببینیم.پس این یال میتونه باشه. نباید زمان آخرین ملاقات d کمتر از e باشه چون در جستجوی عمقی وقتی d رو ملاقات میکنیم تموم مجاوراش میرن تو پشته تا وقتی یکی از مجاوراش یعنی e رو بررسی کنیم خود e هم باید کامل مجاوراش بررسی شده باشن و بعدا برگردیم و به گره مجاور بعدی d. بله خیلی خوب بود ممنون و طبق توضیحات شما h,b نمی تونه یال این گراف باشه چون h در لحظه ۱۰ تموم شده و b در لحظه ۱۳ شروع شده که b نمیتونه مجاورش باشه چون بعد از تموم شده h اومده |