زمان کنونی: ۰۲ آذر ۱۴۰۳, ۱۰:۵۴ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

کنکور سال۷۳

ارسال:
  

Elham_tm پرسیده:

کنکور سال۷۳

بچه ها من متوجه نمیشم چ جوری این الگوریتم روtraceکنم ک ب جواب برسم.هربار ب یه جواب مختلف میرسم.ممنون میشم اگر کسی کمکم کنه[تصویر:  433625_81e1f549764aa5d92dbb375960c683e2.jpg]
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

msour44 پاسخ داده:

RE: کنکور سال۷۳

سلام
برای پاسخ به این چنین سوالات ورودی مسئله را کوچکتر فرض می کنند مثلا در اینجا درخت را کمی ساده می کنیم اگر فقط ریشه(A) و فرزندان ریشه (B,C,D,E)را درنظر بگیریم وبه جای اینکه y به نود P اشاره کند (فرض مسئله)به یکی از فرزندان A مثلا B اشاره کند بعد که تابعfind را اجرا کنیم جایی که Y به انجا اشاره می کند پارامتر x هم به اونجا اشاره می کند (یعنی هر دو به B اشاره می کنند) t هم که به ریشه اشاره می کند بعد دو متغیر محلی q,r تعریف می شود و با دستور[tex]q=t . down[/tex] جایی که فیلد لینک پایینt (ریشه ) به اونجا اشاره می کند q هم به انجا اشاره کند یعنی q به B اشاره می کند بعد حلقه while اجرا ودستور[tex]if\: q=x\: then\: return(t)[/tex] که x طبق فرض ما به جایی که y (اشاره گر به B) اشاره میکند اشاره می کردو q هم که به B اشاره می کند پس شرط if درست وreturn اشاره گر t که به ریشه(A ) اشاره می کند را بر می گرداند.
حال اگر y به جای اشاره به B به c اشاره کند.دوباره با اجرای تابع q به پایین ریشه یعنی b اشاره می کندحلقه اجرا شرط if برقرار نیست(چون x هم مثل y به c اشاره می کند)پس else اجرا می شود که داخل ان تابع به صورت بازگشتی فراخوانی می شود طوری که این بار ریشه q (اشاره گر به b) است باید توجه کرد که دستور if بعد فراخوانی وارد پشته می شود تا بعد بازگشت اجرا شودحال اگر به اجرا ادامه دهیم یک q محلی دیگر به پایین b اشاره می کند که در درخت فرضی ما تهی است پس شرط while نقض و دستور return اخر تابع مقدار nil خروجی تابع تولید می شود که در r ذخیره می شود پس از بازگشت از فراخوانی دستور
[tex]if\: r <>nil\: then\: return(r ) \: else\: q:=q.right[/tex]
اجرا می شود چون r حاوی nil است پس else اجرا و q به راست خود یعنی C اشاره می کند حلقه while تکرار می شود و در [tex]if\: q=x\: then\: return(t)[/tex] شرط برقرار و t برگردانده می شود(اشاره گر به A) تا اینجا هم می توان حدس زد که تابع find اشاره گر به پدر Y را برمی گرداند یعنی اگر طبق فرض مسئله Y به P اشاره کند اشاره گر به پدرش یعنی i را بر می گرداند یعنی گزینه ۳
در واقع q در عمق حرکت می کند تا به nil برسد بعد به راست حرکت می کند ودرصورت نتیجه نگرفتن بازگشت به عقب و حرکت به راست در سطی بالاتر... باید به بازگشتی دقت کنید.(یه شباهتی به پیمایش preorder هم دارد).
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  مباحث آزاد آزمون دکترا ۹۸ (قبل ار کنکور-بعد از کنکور) taha.maten ۰ ۲,۳۱۷ ۲۴ بهمن ۱۳۹۷ ۱۲:۴۶ ب.ظ
آخرین ارسال: taha.maten
  مصاحبه با ۷۹ نرم افزار(کنکور مهندسی کامپیوتر) و ۱۶۲ شبکه(کنکور آی تی) theshatoonak ۳ ۷,۷۲۴ ۲۲ آبان ۱۳۹۶ ۰۳:۳۸ ب.ظ
آخرین ارسال: yahmat
  زمان و دروس کنکور و شرایط کنکور دکترا friendchp ۱۱ ۸,۸۴۸ ۲۴ شهریور ۱۳۹۴ ۱۱:۱۷ ب.ظ
آخرین ارسال: yaser.b
  کنکور ارشد بدون کنکور ازمایشی!!!!! vahid_sh@hotmail.com ۳ ۴,۱۷۸ ۰۸ خرداد ۱۳۹۴ ۰۷:۵۹ ب.ظ
آخرین ارسال: kazhal@
  رتبه کنکور مهم تره یا مصاحبه کنکور؟ shahryar711 ۲ ۳,۹۰۶ ۳۰ آذر ۱۳۹۳ ۱۰:۰۹ ب.ظ
آخرین ارسال: AmiriManesh
Smile نتایج نهایی کنکور ارشد آی تی مانشتی های کنکور ۹۱ در یک فایل PDF javad94 ۱۰ ۱۱,۶۲۹ ۰۱ آبان ۱۳۹۳ ۰۸:۱۴ ب.ظ
آخرین ارسال: Happiness.72
  استفاده از جزوات موسسات کنکور برای کنکور دکتری؟ کدام موسسه بهتر است؟ sahar20 ۳ ۸,۶۷۳ ۳۱ شهریور ۱۳۹۳ ۰۱:۳۸ ق.ظ
آخرین ارسال: zahra_davoody
  آیا معماری رو می شه بدون کلاس کنکور تو کنکور خوب زد shahryar711 ۰ ۳,۰۰۲ ۳۰ مهر ۱۳۹۲ ۰۳:۵۸ ب.ظ
آخرین ارسال: shahryar711
Rainbow همزمانی ساعت برگزاری کنکور انفورماتیک پزشکی با کنکور ارشد کامپیوتر دانشگاه آزاد unique.boy ۱۸ ۱۵,۷۰۱ ۰۸ خرداد ۱۳۹۲ ۰۱:۱۹ ب.ظ
آخرین ارسال: mini-it
Bug تشابه سوال های کنکور های آزمایشی با سوالات کنکور ۹۲ fsi2013 ۱۶ ۱۳,۸۵۵ ۲۲ بهمن ۱۳۹۱ ۰۹:۰۳ ب.ظ
آخرین ارسال: csharpisatechnology

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close