۰
subtitle
ارسال: #۱
  
مرتب سازی توپولوژیکی
با سلام
این مرتب سازی چرا باید حتما گراف جهت دار بدون دور باشد؟
این مرتب سازی چرا باید حتما گراف جهت دار بدون دور باشد؟
۰
ارسال: #۲
  
RE: مرتب سازی توپولوژیکی
در مرتب سازی توپولوژیکی هر گره زمانی ملاقات میشود که گره های پیشنیاز آن ملاقات شده باشد.
اصطلاح پیشنیاز در اینجا به این معناست: که وقتی از یک گره یالی به گره دیگری داریم گره ای که یال از آن خارج شده پیشنیاز گره ای است که یال به آن وارد میشود.
حالا چرا باید جهت دار باشه ؟ چون در این صورت بحث پیشنیاز منتفی میشه. یا میشه گفت یالی که جهت نداره دو طرفست در اینصورت هر دو پیشنیاز همند که باز هم نمیشه از طریق مرتب سازی توپولوژیکی ترتیبی برای انتخاب این دو گره داشت.
چرا نباید دور داشته باشه؟ شما در نظر بگیر سه راس که دور دارند به هیچ طریقی نمیشه از این سه راس راسی رو انتخاب کرد که پیشنیازاش برطرف شده باشه. حالا همین دورو گسترش بدی بازم میبینی که به هیچ طریقی یال های مربوط به دور قابل حذف نیستن.
اصطلاح پیشنیاز در اینجا به این معناست: که وقتی از یک گره یالی به گره دیگری داریم گره ای که یال از آن خارج شده پیشنیاز گره ای است که یال به آن وارد میشود.
حالا چرا باید جهت دار باشه ؟ چون در این صورت بحث پیشنیاز منتفی میشه. یا میشه گفت یالی که جهت نداره دو طرفست در اینصورت هر دو پیشنیاز همند که باز هم نمیشه از طریق مرتب سازی توپولوژیکی ترتیبی برای انتخاب این دو گره داشت.
چرا نباید دور داشته باشه؟ شما در نظر بگیر سه راس که دور دارند به هیچ طریقی نمیشه از این سه راس راسی رو انتخاب کرد که پیشنیازاش برطرف شده باشه. حالا همین دورو گسترش بدی بازم میبینی که به هیچ طریقی یال های مربوط به دور قابل حذف نیستن.
ارسال: #۳
  
RE: مرتب سازی توپولوژیکی
(۱۶ اردیبهشت ۱۳۹۴ ۰۳:۰۶ ق.ظ)artmiss نوشته شده توسط: در مرتب سازی توپولوژیکی هر گره زمانی ملاقات میشود که گره های پیشنیاز آن ملاقات شده باشد.
اصطلاح پیشنیاز در اینجا به این معناست: که وقتی از یک گره یالی به گره دیگری داریم گره ای که یال از آن خارج شده پیشنیاز گره ای است که یال به آن وارد میشود.
حالا چرا باید جهت دار باشه ؟ چون در این صورت بحث پیشنیاز منتفی میشه. یا میشه گفت یالی که جهت نداره دو طرفست در اینصورت هر دو پیشنیاز همند که باز هم نمیشه از طریق مرتب سازی توپولوژیکی ترتیبی برای انتخاب این دو گره داشت.
چرا نباید دور داشته باشه؟ شما در نظر بگیر سه راس که دور دارند به هیچ طریقی نمیشه از این سه راس راسی رو انتخاب کرد که پیشنیازاش برطرف شده باشه. حالا همین دورو گسترش بدی بازم میبینی که به هیچ طریقی یال های مربوط به دور قابل حذف نیستن.
ممنون از پاسخ خوبتون
بعد یک سایت زده بود از روش DFS هم میشه حساب کرد . اون چطوره؟
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۰
ارسال: #۴
  
RE: مرتب سازی توپولوژیکی
سه رنگ به نودها میدیم: سفید (ملاقات نشده) خاکستری (قبلا ملاقات شده) سیاه (عدم امکان پیشروی از طریق این نود)
به روش DFS گراف رو پیمایش میکنیم. به هر نودی که بار اول میرسیم ، اگه سفید باشه یه زمان ملاقات اولیه d میدیم و اونو خاکستری میکنیم. اگه سیاه باشه اونو ملاقات نمیکنیم. اگه خاکستری باشه و امکان رفتن به نود دیگه ای از طریق این نود باشه این کار رو میکنیم و اگه امکان رفتن به نود دیگری از این نود ممکن نباشه اونو سیاه میکنیم و زمان اتمام ملاقات f رو براش تعیین میکنیم و به نود قبل از اوون (پدرش) برمیگردیم.
این کار رو تا هنگامی ادامه میدیم که تموم نودها سیاه بشن و زمان شروع ملاقات d و زمان اتمام ملاقات f تعیین بشه.
حالا یه ترتیب توپولوژیکی براساس زمان صعودی شروع ملاقاتها d داریم.
به روش DFS گراف رو پیمایش میکنیم. به هر نودی که بار اول میرسیم ، اگه سفید باشه یه زمان ملاقات اولیه d میدیم و اونو خاکستری میکنیم. اگه سیاه باشه اونو ملاقات نمیکنیم. اگه خاکستری باشه و امکان رفتن به نود دیگه ای از طریق این نود باشه این کار رو میکنیم و اگه امکان رفتن به نود دیگری از این نود ممکن نباشه اونو سیاه میکنیم و زمان اتمام ملاقات f رو براش تعیین میکنیم و به نود قبل از اوون (پدرش) برمیگردیم.
این کار رو تا هنگامی ادامه میدیم که تموم نودها سیاه بشن و زمان شروع ملاقات d و زمان اتمام ملاقات f تعیین بشه.
حالا یه ترتیب توپولوژیکی براساس زمان صعودی شروع ملاقاتها d داریم.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close