مشاهده نسخه کامل
: تبدیل آرایه به درخت دودویی پر
درووود الگوریتمی میخوام که یک آرایه که مثلا 9 عنصری مرتب رو به یک درخت دودویی پر تبدیل کنم.اینجا مطرح کردم چون فکر کنم بیشتر سر و کار داشته باشید روش کار میخوام نه برنامه
rahnema1
13-10-2013, 22:28
این آدرس رو ببینید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مخصوصا این:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
امکان داره یک مثال خودتون برام در ارایه بزنید؟
یک ارایه مرتب بخواهیم درخت دودویی پر بکنیمش
rahnema1
14-10-2013, 23:25
سلام
امکان داره یک مثال خودتون برام در ارایه بزنید؟
یک ارایه مرتب بخواهیم درخت دودویی پر بکنیمش
واسه این کار باید دو مرحله طی بشه
1.تعریف یک ساختار که قابلیت این رو داشته باشه که درخت رو پیاده سازی کنه
ساختار درخت تشکیل شده از یک سری گره که هر گره یک مقدار داره و دوتا زیرشاخه. یکی سمت راستی و یکی سمت چپی
هر زیرشاخه هم یک گره هست که ممکنه خودش زیرگره داشته باشه
این مرحله نسبتا راحته
2.تعریف یک تابع که آرایه رو بخونه و به برای درخت زیرشاخه درست کنه و مقادیر آرایه رو به گره ها اختصاص بده
در ابتدا یگ کره تشکیل می شه که شامل عنصر وسط از آرایه مورد نظره
دو تا گرهی که زیرشاخه این گره خواهند شد یکی از عناصر سمت راست عنصر وسطی و دیگری از عناصر سمت چپ عناصر وسطی انتخاب می شن
ازبین عناصر سمت راستی دوباره عنصر وسطی اون بعنوان گره انتخاب میشه وازبین عناصر سمت چپی دوباره عنصر وسطی اون بعنوان گره انتخاب میشه و همین طور این روند ادامه پیدا می کنه تا تمام عناصر آرایه به گره های درخت اختصاص داده بشن
تابع سازنده درخت بصورت بازگشتی کار می کنه و هر دفعه خودش رو صدا می زنه تا برسه به انتهای درخت
تصاویر پیوستی می تونه بهتر نشون بده . به ترتیب نگاه کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.