در این آموزش با پیمایشهای میانوندی، پیشوندی، پسوندی و سطحی آشنا میشوید. همچنین پیاده سازی این پیمایشها را به صورت بازگشتی و غیربازگشتی یاد میگیرید.
عناوین مطرح شده در این آموزش عبارتند از:
-آشنایی با مفهوم پیمایش میانوندی، پیشوندی و پسوندی
– رسم درخت با داشتن پیمایش میانوندی و یکی از دو پیمایش پیشوندی یا پسوندی
-پیاده سازی بازگشتی پیمایش میانوندی، پیشوندی و پسوندی
-پیاده سازی الگوریتم غیربازگشتی پیمایش میانوندی با استفاده از پشته
-پیاده سازی الگوریتم غیربازگشتی پیمایش سطحی با استفاده از صف
تمرین های جلسه هشتم ساختمان داده
1- پیمایش میانوندی، پیشوندی و پسوندی درخت های زیر را بنویسید
2- درصورتی که پیمایش میانوندی یک درخت کامل به صورت زیر باشد، پیمایش پیشوندی آن را بنویسید.
3- پیمایش پیشوندی و میانوندی درخت T به صورت زیر است، درخت T را رسم کنید.
پیمایش پیشوندی: ABEDCFG
پیمایش میانوندی: BACDEFG
4- یک درخت دودویی به نام T با n گره داریم. اگر اولین گره در پیمایش PostOrder درخت با آخرین گره از پیمایش PreOrder درخت یکسان باشد کدام گزینه را میتوان نتیجه گرفت؟
الف – زیر درخت چپ T خالی است
ب – درخت T حداکثر 3 گره دارد
ج – زیر درخت راست T خالی است.
د – ارتفاع درخت T برابر n است
5- درخت دودویی T را در نظر بگیرید که همهی نودهای آن اعداد حقیقی هستند. تابعی بنویسید که ریشهی درخت T را از ورودی بگیرد و مجموع اعداد حقیقی ذخیره شده در درخت را برگرداند.