مسیرها
/
Lua
Lua
/
تمرین‌ها
/
زاویه‌ی دید
زاویه‌ی دید

زاویه‌ی دید

دشوار

دستورالعمل‌ها

درخت را روی یک گره‌ی انتخاب‌شده دوباره والدگذاری کنید.

یک درخت نوع خاصی از گراف است که در آن همه‌ی گره‌ها به هم متصل‌اند اما هیچ دوری وجود ندارد. یعنی برای هر جفت گره، دقیقاً یک مسیر برای رفتن از یک گره به گره دیگر وجود دارد.

این تمرین تماماً درباره‌ی جهت‌دهی دوباره‌ی یک درخت است تا از دیدگاهی متفاوت به آن نگاه کنید. برای مثال، شجره‌نامه‌ها معمولاً از دیدگاه نیاکان نمایش داده می‌شوند:

    +------0------+
    |      |      |
  +-1-+  +-2-+  +-3-+
  |   |  |   |  |   |
  4   5  6   7  8   9

اما هیچ جهت ذاتی در درخت وجود ندارد. همین اطلاعات را می‌توان از دیدگاه هر گره‌ی دیگر در درخت نمایش داد، به این ترتیب که آن را تا ریشه بالا می‌کشیم و روابطش را هم همراه با آن می‌کشیم. بنابراین همان درخت از دیدگاه ۶ به این شکل خواهد بود:

        6
        |
  +-----2-----+
  |           |
  7     +-----0-----+
        |           |
      +-1-+       +-3-+
      |   |       |   |
      4   5       8   9

این کار به ما اجازه می‌دهد مسیرهای بین دو گره را ساده‌تر توصیف کنیم. برای مثال، مسیر از ۶ به ۹ (که در درخت اول تا ریشه بالا می‌رود و سپس تا یک گره برگ دیگر پایین می‌آید) دیده می‌شود که مسیر ۶-۲-۰-۳-۹ را دنبال می‌کند.

این تمرین شامل گرفتن یک درخت ورودی و جهت‌دهی دوباره‌ی آن از دیدگاه یکی از گره‌ها است.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Lua Exercism

آماده‌اید زاویه‌ی دید را شروع کنید؟

در Exercism ثبت‌نام کنید تا Lua را همراه با 117 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.