درخت دودویی




یک درخت دودویی، یک نوع ساده از ساختمان داده ی مرتبط شاخه دار.
img/daneshnameh_up/7/74/compics044.gif

در علم کامپیوتر، یک ' ساختمان داده ' راهی است برای ذخیره ی داده در کامپیوتر بنابراین می تواند به صورت کارآمد استفاده شود. اغلب یک ساختمان داده ی با دقت انتخاب شده امکان استفاده از الگوریتم کارآمدتر را می دهد. انتخاب ساختمان داده اغلب از انتخاب یک ساختمان داده انتزاعی نشأت می گیرد. یک ساختمان داده ی خوب طراحی شده امکان اجرای انواع بحرانی عملیات را در استفاده به کوچکی منابع، هم زمان اجرا و هم فضای حافظه می دهد.
انواع مختلف ساختمان داده با انواع مختلف کاربردها سازگارند، و بعضی از آنها به سختی برای وظایف ویژه، تخصصی شده اند. به عنوان مثال، درخت B مخصوصاً سازگاری خوبی برای تکمیل بانک های اطلاعاتی پیدا کرده اند، در حالی که جدول های مسیر یابی بر شبکه های ماشین های تابع تکیه دارند.
در طراحی انواع برنامه ها،انتخاب ساختمان داده، اولین ملاحظه ی طراحی است، همان طور که تجربه در ساخت سیستم های بزرگ نشان داده است که مشکل تکمیل، کیفیت و اجرای نتیجه ی نهایی، شدیداً به انتخاب بهترین ساختمان داده بستگی دارد.
بعد از اینکه ساختمان داده انتخاب شد، الگوریتم هایی که باید اغلب استفاده شوند نسبتاً مشخص می گردند. گاهی اوقات اشیاء در جهت مخالف کار می کنند – ساختمان های داده انتخاب شده اند چون وظایف کلیدی مشخص، الگوریتم هایی دارند که با ساختمان های داده ی مشخص بهتر کار می کنند. در هر موردی انتخاب ساختمان های داده ی مناسب ضروری است.
این دیدگاه به بسیاری از روش های طراحی رسمی و زبان های برنامه نویسی، که در آنها ساختمان های داده، فاکتورهای سازماندهی کلیدی تری نسبت به الگوریتم هاهستند، ارتقاء داده است. ویژگی بیشتر زبان ها از نوع سیستم ماژول، امکان استفاده ی دوباره از ساختمان های داده در کاربردهای مختلف به وسیله ی پنهان سازی جزئیات پیاده سازی آنها پشت واسط های کنترل شده را داده است. زبان های برنامه نویسی زبان برنامه نویسی شی گرا مثل C++ و جاوا بویژه از اشیاء به این منظور استفاده می کنند.
چون ساختمان های داده برای برنامه نویسی حرفه ای بسیار ضروری هستند، بسیاری از آنها از حمایت گسترده ای در کتابخانه های استاندارد محیط ها و زبان های برنامه نویسی مدرن، مثل کتابخانه قالب های استاندارد ++C و جاوا "API" و چارچوب کاری Microsoft .NET بهره می گیرند.
اجزاء اصلی ساختمانی، بیشتر ساختمان های داده آرایه ها، رکوردها، اتحادهای متفاوت و ارجاع ها هستند. به عنوان مثال، ارجاع قابل null شدن یک ترکیب از ارجاع ها و اتحادهای متمایز است و ساده ترین ساختمان های داده ی پیوندی، لیست پیوندی، از رکوردها و ارجاع های قابل null شدن ساخته شده است.


همچنین ببینید




تعداد بازدید ها: 28327