آزمایشگاه آزاد؛ بدون نیاز به ورود
درخت جستوجوی دودویی رو با ترتیب درج بساز
همون عددها میتونن شکلهای متفاوتی بسازن. ترتیب ورود رو از پیدرپی به متوازن تغییر بده و مسیر رسیدن به گرهها رو ببین.
آزمایش رو شروع کندر حالت شروع، عددهای ۱ تا ۷ پیدرپی وارد میشن و درخت شبیه زنجیر میشه. گزینهٔ «متوازن» رو انتخاب کن و ارتفاع رو مقایسه کن.
آزمایشگاه در حال آماده شدنه…
حالا خودت امتحان کن
هر بار فقط یک چیز رو تغییر بده تا اثرش رو ببینی. قبل از اجرا، نتیجه رو حدس بزن.
ترتیب درج شکل رو عوض میکنه
تعداد رو روی ۷ نگه دار؛ یک بار «پیدرپی» و بعد «متوازن» رو انتخاب کن. شکل درخت، ارتفاع و میانگین عمق رو مقایسه کن.
حدست چیه؟ کدوم ترتیب درختی کمارتفاعتر میسازه؟
توضیح نتیجه رو ببین
در ترتیب پیدرپی، ارتفاع ۷ و میانگین عمق ۳ه؛ در گزینهٔ متوازن، ارتفاع به ۳ و میانگین عمق به ۱٫۴ میرسه. همین عددها با عوض شدن ترتیب ورود، شکل متفاوتی میسازن.
زنجیر با عددهای بیشتر
ترتیب رو روی «پیدرپی» نگه دار؛ تعداد رو از ۷ به ۱۰ برسون و ارتفاع و میانگین عمق رو بخون.
حدست چیه؟ وقتی هر عدد جدید از قبلی بزرگتره، درخت با زیاد شدن تعداد چه شکلی میمونه؟
توضیح نتیجه رو ببین
ارتفاع از ۷ به ۱۰ و میانگین عمق از ۳ به ۴٫۵ میرسه. چون هر عدد بزرگتر سمت راست گره قبلی میره، این ترتیب یک زنجیر بلند میسازه.
همون زنجیر از سمت دیگه
تعداد رو روی ۷ بذار؛ حالت «پیدرپی» رو با «معکوس» مقایسه کن.
حدست چیه؟ جهت زنجیر عوض میشه، اما ارتفاع و میانگین عمق هم تغییر میکنن؟
توضیح نتیجه رو ببین
درخت پیدرپی به راست و درخت معکوس به چپ خم میشه. هر دو ارتفاع ۷، میانگین عمق ۳ و نمرهٔ تعادل ۶ دارن؛ عددها فقط جهت ورود رو عوض میکنن.
پشت این حرکت چه خبره؟
قانون جای هر عدد
درخت جستوجوی دودویی هر عدد کوچکتر از یک گره رو سمت چپ و هر عدد بزرگتر رو سمت راست میذاره. شبیهساز عددهای ۱ تا تعداد انتخابشده رو یکییکی به ترتیب مشخصشده وارد میکنه.
چرا ترتیب ورود مهمه؟
درج پیدرپی عددهای رو به بالا، هر بار به انتهای شاخهٔ راست میرسه؛ عددهای رو به پایین هم زنجیر سمت چپ میسازن. درج از میانهها میتونه شاخهها رو کوتاهتر نگه داره.
ارتفاع و عمق
height_nodes = 1 + max(height(left),height(right)); avg_depth = sum(depths)/n
ارتفاع این مدل تعداد گرهها در بلندترین مسیر از ریشه تا برگ رو میشمره؛ ریشه یک سطح حساب میشه. میانگین عمق، عمق همهٔ گرهها رو جمع و بر تعدادشون تقسیم میکنه.
نمرهٔ تعادل این مدل
root_balance = abs(height(left)-height(right))
نمره فقط اختلاف ارتفاع شاخهٔ چپ و راستِ ریشه رو میسنجه. نمرهٔ صفر یعنی دو سمت ریشه همارتفاعن؛ این بهتنهایی تضمین نمیکنه همهٔ گرههای داخل درخت متوازن باشن.
سؤالت رو بپرس، جوابش رو هم ببین
وقتی توی چت دربارهٔ یک مفهوم درس میخونی، دستیار هوش مصنوعی میتونه شبیهسازی مرتبط رو کنار توضیحش نشون بده. پارامترها رو تغییر میدی و با کمک توضیح بعدی، نتیجه رو بهتر میفهمی.
شروع یادگیری با چتبرای ادامه در چت، وارد مسیر شروع و ورود میشی. نتیجهٔ این آزمایش به چت منتقل نمیشه.
نمونهٔ نمایشی از آموزش در چت
چرا با عددهای پیدرپی درخت به یک زنجیر تبدیل میشه؟
هر عدد تازه از قبلی بزرگتره، پس قانون درخت جستوجوی دودویی اون رو سمت راست میفرسته. این کار تا آخر تکرار میشه و هر گره فقط یک فرزند میگیره؛ برای همین ارتفاع زیاد میشه.
سؤالهای رایج
در درخت جستوجوی دودویی عددها کجا میرن؟
عددهای کوچکتر از هر گره سمت چپ و بزرگترها سمت راست میرن.
چرا ترتیب درج روی ارتفاع اثر میذاره؟
چون هر عدد نسبت به گرههایی که قبل از خودش اومدن جاگذاری میشه؛ یک ترتیب میتونه شاخههای کوتاه بسازه و ترتیب دیگه زنجیر.
گزینهٔ متوازن چه کار میکنه؟
در این مدل، عددهای میانی رو زودتر وارد میکنه تا شاخههای سمت چپ و راست کوتاهتر بشن.
نمرهٔ تعادل صفر یعنی کل درخت کاملاً متوازنه؟
نه. این نمره فقط ارتفاع شاخهٔ چپ و راست ریشه رو مقایسه میکنه و همهٔ گرههای درونی رو جداگانه بررسی نمیکنه.
چرا گزینهٔ تصادفی هر بار همون درخت رو میسازه؟
این شبیهساز یک ترتیب ثابت برای گزینهٔ تصادفی میسازه تا نتیجه تکرارپذیر باشه؛ هر بار فهرست تازهای قرعهکشی نمیکنه.