تالار گفتمان مانشت

نسخه‌ی کامل: آیا این درخت B-Tree میباشد؟؟؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام..
بچه ها میخام بدونم این درخت btree هست؟؟
و اینکه راه تشخیصه اینکه درختی btree هست همین کافیه که ببینیم برگه توی یه سطح هستند؟؟؟؟؟

]
سلام.

به جز این که برگ‌ها باید توی یک سطح باشند باید شرایط درخت جستجوی دودویی (BST) هم برای کل درخت برقرار باشه که اینجا برقراره.
همچنین تعداد فرزندان هر گره میانی باید حداقل t و حداکثر ۲t باشه که چون اینجا t=2 هستش پس هر گره میانی باید حداقل 2 و حداکثر 4 فرزند داشته باشه که داره.
با توجه به این ۳ شرط گفته شده، درخت توی تصویر B-Tree هستش :-)



البته خوبه که اینم بگم:

از آقامون Knuth روایت داریم که باید تعداد فرزندان هر گره بین t+1 و ۲t+1 باشه، ولی چیزی که برای خودم شخصاً جا افتاده همون حالت قبلیه ;-)

اگه از حالت دوم برای حداقل و حداکثر تعداد فرزندان استفاده بشه، باید هر گره میانی حداقل t+1 = 3 و حداکثر ۲t+1 = 5 فرزند داشته که این شرط رعایت نشده و نتیجه می‌گیریم این درخت B-Tree با t=2 نیست. ولی درختش در این صورت B-Tree با t=1 هستش که در حقیقت همون [tex]2-3 Tree[/tex] هستش.
[undefined=undefined]ممنونم ولی عملیات حذف روش درست درنمیاد...
درواقع دیگه درختمون بالانس نیس................!!!!!![/undefined]

به نظرتون اشکال از درخت اولیه نیست؟؟؟ اینکه درخت اولیه درست کشیده نشده است !!!
(22 شهریور 1392 10:31 ب.ظ)kashan64 نوشته شده توسط: [ -> ][undefined=undefined]ممنونم ولی عملیات حذف روش درست درنمیاد...
درواقع دیگه درختمون بالانس نیس................!!!!!![/undefined]

به نظرتون اشکال از درخت اولیه نیست؟؟؟ اینکه درخت اولیه درست کشیده نشده است !!!

الگوریتم‌های حذف از B-Tree خیلی توی جزئیات با هم متفاوتند. شما الگوریتم خودتونو بگین، بررسی کنیم حذف کلید 10 رو :-)
بنظرم کافیه 10 حذف شه و 9 یا 11 بیان جاش.
لینک مرجع