تالار گفتمان مانشت
الگوریتم غیر بازگشتی PostOrder - نسخه‌ی قابل چاپ

الگوریتم غیر بازگشتی PostOrder - s.h5102 - 06 آبان ۱۳۹۳ ۰۱:۵۶ ب.ظ

سلام
دوستای خوبم؟ کسی هست که الگوریتم غیربازگشتی PostOrder رو خوب متوجه شده باشه و واسه من هم توضیح بده؟
ممنون

RE: الگوریتم غیر بازگشتی PostOrder - itplus - 06 آبان ۱۳۹۳ ۰۳:۰۰ ب.ظ

راحته. حواست باشه اول پشته مون خالیه بعدش چند مرحله باید انجام بدی تا زمانی که ریشه Null نباشه
۱) فرزند راست ریشه و بعدش ریشه رو وارد پشته کن(push)
۲) فرزند چپ ریشه رو به عنوان ریشه انتخاب کن
۳) از استک یه آیتم پاپ کن و به عنوان ریشه انتخاب کن
۴)اگه آیتم پاپ شده فرزند راست داره و فرزند راستش تو بالای پشته است، فرزند راستو از پشته حذف کن. ریشه رو دوباره push کن و فرزند راستش رو به عنوان ریشه انتخاب کن.
۵)در غیر اینصورت داده ی ریشه رو چاپ کن و مساوی Null قرارش بده
۶) مراحل ۱ تا ۵ رو تا زمانی که پشته خالی نشده ادامه بده