سلام.....در مورد درخت ها توی ++cسوال دارم.....
اگر پیمایش پیشوندی و میانوندی یک درخت دودویی را داشته باشیم چطوری میتونیم برنامه ای بنویسیم که پیمایش پسوندیش را چاپ کنه ؟...ممنون
سلام.....در مورد درخت ها توی ++cسوال دارم.....
اگر پیمایش پیشوندی و میانوندی یک درخت دودویی را داشته باشیم چطوری میتونیم برنامه ای بنویسیم که پیمایش پسوندیش را چاپ کنه ؟...ممنون
برنامش تو كتاب ساختمان داده هورويتز هست البته به زبان پاسكــــال
فكـــــر كنم تو كتاب سيمور ليپ شوتز هم باشه ( الگوريتمش )
حالا غیر از کتاب هیچ سایتی به نظرتون نمیرسه که بتونه کمکم کنه ؟
( من خیلی وقت ندارم....دنبال یه راهه سریع میگردم ....!!!!)
اگه همینطوری هم می گفتید که الگوریتمش باید چیکار کنه خیلی خوب میشد....![]()
Last edited by Mina Mehdizadeh; 08-05-2008 at 16:50.
- درخت جديدى درست ميكنى و اون رو به صورت زير پر ميكنى :
- از اولين حرف پيمايش preorder ريشه رو بدست ميارى
- با ريشه بدست اومده و با توجه به inOrder زير درخت چپ و راست درخت فعلى رو مشخص ميكنى
- هر گرهى كه مكان درستش مشخص شد رو از هر دو پيمايش حذف ميكنى
توجه : براى تشخيص مكان درست ميتونى از برسى مكان گره در هر دو پيمايش استفاده كنى !
مثالا اگر در preOrder ترتيب BC و در inOrder هم ترتيب BC باشه نتيجه ميگيريم C فرزند راست B هست
- عمليات رو تا جايى كه گرهى باقى نمونه ادامه ميدى
خیلی خیلی ممنون.......
(راستش خودم به یه الگوریتم شبیه این چیزی که شما گفتید رسیده بودم ...ولی با توضیحات شما تکمیل شد...)
خواهش ميكنم
موفق باشيد
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)