Skip to content

Latest commit

 

History

History
110 lines (63 loc) · 3.73 KB

Lowest Common Ancestor in a Binary Tree (LCA) - Uber.md

File metadata and controls

110 lines (63 loc) · 3.73 KB
github
true

کیان:

بچه‌ها، میشه بهم بگید Lowest Common Ancestor in a Binary Tree چیه؟ 🤔

پیمان:

کیان جان، بذار یه جوری برات توضیح بدم که راحت‌تر متوجه بشی. فکر کن یه درخت خانوادگی داریم. 🌳👨‍👩‍👧‍👦

         Grandfather
         /         \
    Father         Uncle
      |              |
    Kian          Cousin

ماهان:

آره، مثل درخت خانوادگی خودت. تو، مامان و بابات، و مامان بزرگ و بابابزرگت. 👪

کیان:

آها، فهمیدم. خب بعدش چی؟

حسین:

ببین کیان جان، حالا فرض کن می‌خوایم بدونیم نزدیک‌ترین جد مشترک تو و دختر عموت کیه. یعنی اولین نفری که هم جد توئه، هم جد دختر عموت. 🕵️‍♂️

مارال:

دقیقاً! و این تو درخت‌های دودویی (Binary Tree) هم همینطوره. ما دنبال نزدیک‌ترین گره مشترک بین دو گره هستیم. 🌿

کیان:

اوه، پس یعنی تو مثال خانواده ما، جد مشترک من و دختر عموم میشه بابابزرگمون؟

پیمان:

آفرین کیان! دقیقاً همینطوره. تو درخت‌های کامپیوتری هم ما دنبال همچین چیزی می‌گردیم. 🖥️

ماهان:

بذار یه مثال دیگه بزنم. فرض کن یه درخت داریم که توش عددها رو گذاشتیم. مثلاً یه درخت که این شکلیه:

        10
       /  \
      5    15
     / \   / \
    3   7 12  18

حالا اگه بخوایم نزدیک‌ترین جد مشترک بین عدد 3 و 7 رو پیدا کنیم، باید ببینیم اولین عددی که هم به 3 و هم به 7 می‌رسه چیه. تو این مثال، عدد 5 هست. 🧮

کیان:

آها، پس عدد 5 میشه همون "بابابزرگ" مشترک بین 3 و 7! 😊

حسین:

آفرین کیان! دقیقاً همینطوره. توی درخت‌های کامپیوتری، ما دنبال نزدیک‌ترین گره مشترک بین دو گره می‌گردیم. این گره رو می‌گیم Lowest Common Ancestor یا LCA. 🌳

مارال:

حالا فکر کن این درخت رو داریم:

        10
       /  \
      5    15
     / \   / \
    3   7 12  18

اگه بخوایم نزدیک‌ترین جد مشترک بین عدد 3 و 12 رو پیدا کنیم، باید ببینیم اولین عددی که هم به 3 و هم به 12 می‌رسه چیه. تو این مثال، عدد 10 هست. 🧩

کیان:

وای چه جالب! یعنی کامپیوترها هم مثل ما دنبال فامیل‌هاشون می‌گردن؟ 😃

حسین:

دقیقاً کیان جان! کامپیوترها هم گاهی نیاز دارن "فامیل‌های" نزدیک اطلاعات رو پیدا کنن. این کمک می‌کنه که سریع‌تر و بهتر کار کنن. 🚀

مارال:

آفرین کیان، خیلی خوب متوجه شدی. حالا هر وقت درباره LCA یا Lowest Common Ancestor شنیدی، یادت میاد که داریم دنبال نزدیک‌ترین "بابابزرگ" مشترک می‌گردیم! 👴

کیان:

مرسی بچه‌ها! خیلی جالب بود. حالا می‌تونم به دوستام هم توضیح بدم! 😊

لینک‌های مرتبط: