دانلود کتاب Data Structures and Algorithms in Java
by Michael T. Goodrich
|
عنوان فارسی: ساختمان داده ها و الگوریتم ها در جاوا |
دانلود کتاب
جزییات کتاب
انگلیسی
این کتاب، نسخهی دانشجویی و بین المللی ساختمان دادهها و الگوریتمها در جاواست که به معرفی ساختمان دادهها و الگوریتمها ، شامل طراحی و آنالیز و پیاده سازی آنها میپردازد.
طراحی و آنالیز ساختمان دادههای کارا، مدت هاست که به عنوان یک موضوع حیاتی در محاسبات و یک درس مهم در علوم کامپیوتر و مهندسی کامپیوتر شناخته میشود. معمولا، دروس مقدماتی به صورت دو یا سه درس پشت سرهم ارائه میشوند. ساختمان دادههای ابتدایی معمولا به صورت مختصر در اولین درس برنامه نویسی یا درس مقدمه ای بر علوم کامپیوتر ارائه میشوند به صورت عمقی تر، در دروس ساختمان داده ای بعد از این دروس ادامه پیدا میکنند.علاوه بر این ، این ترتیب درس معمولا در جای دیگری در برنامهی تحصیلی به صورت عمقی تر، با مطالعه درس ساختمان دادهها و الگوریتمها دنبال خواهد شد.
ما احساس میکنیم که نقش اساسی طراحی و آنالیز ساختمان دادهها در برنامهی تحصیلی کاملا توجیه شده است، بیان اهمیت ساختمان دادههای موثر و کارا در بیشتر سیستمهای نرم افزاری از قبیل وب، سیستمهای عامل، پایگاههای داده، کامپایلرها و سیستمهای شبیه سازی علمی.
با توجه به ضرورت الگوی شی گرایی در انتخاب فریمورک ها، برای ساخت نرم افزار هایی با قابلیت استفاده مجدد و قدرتمند، ما سعی کردیم تا این مطالب را به طور کامل از نقطه نظر شی گرایی بنویسیم. یکی از ایدههای اصلی شی گرایی این است که دادهها باید به صورت کپسول هایی باشند و با متدهایی که ارائه میدهند با دنیای بیرون از خود ارتباط برقرار و تغییر کنند. این باعث میشود که نمایش دادهها به صورت یک مجموعه از بایتها و آدرسها آسان شود.
ذهنیت ما از اشیای داده ها، نمونه ای از یک نوع داده ای انتزاعی (ADT) است، که شامل یک سری متد برای انجام عملیات بر روی دادههای اشیای این نوع است، همچنین راه حلهای شی گرایی، معمولا بر اساس مجموعه از الگوهای طراحی طبقه بندی میشوند تا امکان استفاده مجدد نرم افزار و تنومندی آن فراهم شود. بنابر این، ما هر ساختمان دادهای را با استفاده از ADTها و پیاده سازی آنها ارائه دادیم و همچنین الگوهای مهم طراحی را به عنوان وسیله ای برای دسته بندی آن پیاده سازیها به صورت کلاس، متدها و اشیا معرفی کرده ایم.
برای هر ADT ارائه شده در این کتاب ما یک اینترفیس جاوا نیز فراهم کرده ایم. همچنین ساختمان دادههای واقعی که ADTها را تحقق میبخشند، مورد بحث قرار گرفته و معمولا کلاسهای جاوای واقعی که این انترفیسها را پیاده سازی کرده اند ارائه شده است. همچنین پیاده سازی جاوای الگوریتمهای پایه ای مانند مرتب سازی، جست و جوی گراف نیز ارائه شده اند.