منو
 صفحه های تصادفی
شقایق ماهی دلقک
bios
دانشنامه:مقالات درخواستی
تفاوتهای فردی
سیاست های داخلی فتحعلیشاه
دنیای سیاهچاله‌ها
پناه دادن امام رضا علیه السلام به آهو
میارگیریت
فراوانی نعمت در زمان امام مهدی علیه السلام
معصومین و آیه 20 سوره شوری
 کاربر Online
734 کاربر online
تاریخچه ی: درخت دودویی

||V{maketoc}||
^@#16:
__یک درخت دودویی__، یک نوع ساده از ساختمان داده ی مرتبط شاخه دار.
در ((علم کامپیوتر))، یک ''' ساختمان داده ''' راهی است برای ذخیره ی ((داده)) در کامپیوتر بنابراین می تواند به صورت کارآمد استفاده شود. اغلب یک ساختمان داده ی با دقت انتخاب شده امکان استفاده از ((الگوریتم)) کارآمدتر را می دهد. انتخاب ساختمان داده اغلب از انتخاب یک ((ساختمان داده انتزاعی)) نشأت می گیرد. یک ساختمان داده ی خوب طراحی شده امکان اجرای انواع بحرانی عملیات را در استفاده به کوچکی منابع، هم زمان اجرا و هم فضای حافظه می دهد.
انواع مختلف ساختمان داده با انواع مختلف کاربردها سازگارند، و بعضی از آنها به سختی برای وظایف ویژه، تخصصی شده اند. به عنوان مثال، ((درخت B)) مخصوصاً سازگاری خوبی برای تکمیل بانک های اطلاعاتی پیدا کرده اند، در حالی که ((جدول های مسیر یابی)) بر شبکه های ماشین های تابع تکیه دارند.

در طراحی انواع برنامه ها،انتخاب ساختمان داده، اولین ملاحظه ی طراحی است، همان طور که تجربه در ساخت سیستم های بزرگ نشان داده است که مشکل تکمیل، کیفیت و اجرای نتیجه ی نهایی، شدیداً به انتخاب بهترین ساختمان داده بستگی دارد.
بعد از اینکه ساختمان داده انتخاب شد، ((الگوریتم)) هایی که باید اغلب استفاده شوند نسبتاً مشخص می گردند. گاهی اوقات اشیاء در جهت مخالف کار می کنند – ساختمان های داده انتخاب شده اند چون وظایف کلیدی مشخص، الگوریتم هایی دارند که با ساختمان های داده ی مشخص بهتر کار می کنند. در هر موردی انتخاب ساختمان های داده ی مناسب ضروری است.

این دیدگاه به بسیاری از روش های طراحی رسمی و (( زبان های برنامه نویسی))، که در آنها ساختمان های داده، فاکتورهای سازماندهی کلیدی تری نسبت به الگوریتم هاهستند، ارتقاء داده است. ویژگی بیشتر زبان ها از نوع ((سیستم ماژول))، امکان استفاده ی دوباره از ساختمان های داده در کاربردهای مختلف به وسیله ی پنهان سازی جزئیات پیاده سازی آنها پشت واسط های کنترل شده را داده است. زبان های برنامه نویسی ((زبان برنامه نویسی شی گرا)) مثل ((C++)) و ((جاوا)) بویژه از اشیاء به این منظور استفاده می کنند.

چون ساختمان های داده برای برنامه نویسی حرفه ای بسیار ضروری هستند، بسیاری از آنها از حمایت گسترده ای در کتابخانه های استاندارد محیط ها و زبان های برنامه نویسی مدرن، مثل ((کتابخانه قالب های استاندارد)) ((C++)) و ((جاوا)) '''API''' و چارچوب کاری ((Microsoft .NET)) بهره می گیرند.

اجزاء اصلی ساختمانی، بیشتر ساختمان های داده ((آرایه ها))، ((رکوردها))، ((اتحادهای متفاوت)) و ((ارجاع ها)) هستند. به عنوان مثال، ارجاع قابل null شدن یک ترکیب از ارجاع ها و اتحادهای متمایز است و ساده ترین ساختمان های داده ی پیوندی، ((لیست پیوندی))، از رکوردها و ارجاع های قابل null شدن ساخته شده است.

!همچنین ببینید
*((لیستی از ساختمان های داده))
#@^

تاریخ شماره نسخه کاربر توضیح اقدام
 چهارشنبه 12 مهر 1385 [12:51 ]   4   زینب معزی      جاری 
 سه شنبه 28 شهریور 1385 [11:46 ]   3   زینب معزی      v  c  d  s 
 سه شنبه 03 آذر 1383 [10:34 ]   2   حمید حسن نیا      v  c  d  s 
 دوشنبه 13 مهر 1383 [17:14 ]   1   حمید حسن نیا      v  c  d  s 


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..