درخت

سلام،
فواید درخت و درختکاری بر همگان واضح و مبرهن است و نیاز به اشاره به آن نیست..، درخت در کامپیوتر و ساختمان داده‌ها هم خیلی مفید و به درد بخور است.
من نمی‌خوام درباره‌ی ساختمان داده‌ی درخت توضیح بدم، فقط مثالی که میزنم راجع به درخت جستجوی دودویی است.
اصل مطلب اینه که؛ خیلی‌ها فکر می‌کنن چون دات نت چیزی دقیقاً مثل اشاره‌گرها در C++‎ نداره پس خیلی از چیزهایی رو که با استفاده از اشاره‌گر پیاده می‌کردن، دیگه نمی‌تونن با دات نت درست کنن. مثلاً در رابطه با لیست پیوندی و هر چیزی که با اون درست بشه این جور فکر می‌کنن.
غافل از اینکه دات نت یه چیزی داره که پدر اشاره‌گره! و اون چیزی نیست جز Reference.
این مثال، درخت جستجوی دودویی است که چند دقیقه‌ی پیش نوشتم.
کلاس BSTree یه درخت جستجوی دودویی نُقلیه. با تابع Insert می‌توان به آن عنصری را اضافه کرد و با تابع Search می‌توان وجود عنصری را در درخت بررسی کرد و تهایتاً با تابع Remove می‌توان عنصری را حذف کرد. توجه کنید که این درخت خیلی نقلی است و می‌تونه خیلی کامل‌تر باشه.
یک کلاس هم به نام TreeNode در داخل BSTree است که گره درخت است.

موفق باشید.

نظرات (9) -

  • یادش بخیر موقعی که ساختمان داشتم برنامه ای با VB.NET نوشتم که در BST تعدادی الگوریتم را به صورت گرافیکی اجرا و نمایش بده شاید تابستان مقاله ای در این مورد نوشتم و با اون برنامه روی یک سایت قرار دادم.

  • فرشاد

    06/11/1385 04:06:23 ب.ظ | پاسخ به این نظر

    برنامه درج وحذف و جستجو در درخت  min_heap را می خواستم
                                                                                            با تشکر

  • رها

    08/11/1385 10:47:29 ب.ظ | پاسخ به این نظر

    برنامه ای که یک عبارت infixرا در یک درخت دودویی قرار دهد.

  • علی

    03/04/1386 04:04:32 ب.ظ | پاسخ به این نظر

    salam
    site jalbi darid
    man yek barnameh mikhastam in keh adad ra varede drakhte jostejoye dodoyi konad va be sorate inorder chap konad .
    lotfan be email ali_hasani_math@yahoo.com  beferestid
    dar har sorat lotfan be man javab bedahid.

  • شهلا

    05/11/1386 08:10:54 ب.ظ | پاسخ به این نظر

    خیلی ممنون از شما بابت برنامه bst خدا خیرتون بده می خواستم خواهش کنم قسمت me در برنامه و توابع havechild رو برام توضیح بدید آخه من این زبان نمی دونم چه جوری با این زبان اشنا نیستم و c++  این برنامه را نیاز دارم از شما خواهش می کنم برام توضیح بدید.
    با تشکر از شما

  • setare

    28/03/1387 10:25:07 ب.ظ | پاسخ به این نظر

    salam 1 proje dashtam  ba zabanc++  ke dar bareye binarry search tree ba 1 sery taghirate kaste shode . age mitunid komaky konid be man maile bezanid.mamnun

  • نسترن

    18/04/1387 02:21:51 ب.ظ | پاسخ به این نظر

    برنامه ای میخوام که دوتا درخت bst رو بگیره و یکی کنه و نمایش بده

Loading