ویژگیهای کلیدی
لیستهای اصلی، پشتهها، صفها، دیکشنریها، مجموعهها و درختها، در میان سایر ساختارهای داده
به تکنیکهای طراحی و پیادهسازی مؤثر برای برآورده کردن نیازهای نرمافزاری خود بپردازید
ساختارهای داده و الگوریتمها را از طریق تصاویر تجسم کنید تا درک واضحتری از تجزیه و تحلیل آنها داشته باشید
شرح کتاب
ساخت برنامههای کاربردی خودتان هیجانانگیز اما چالشبرانگیز است، به خصوص هنگام مقابله با مشکلات پیچیده مرتبط با ساختارهای داده و الگوریتمهای پیشرفته. این تلاش نیازمند دانش عمیق از زبان برنامهنویسی و همچنین ساختارهای داده و الگوریتمها است – دقیقاً همان چیزی که این کتاب به توسعهدهندگان C# ارائه میدهد.
این کتاب با مقدمهای بر الگوریتمها شروع میکند و به تدریج شما را در دنیای آرایهها، لیستها، پشتهها، صفها، دیکشنریها و مجموعهها غرق میکند. مثالهای دنیای واقعی، غنیشده با قطعه کدهای آماده و تصاویر، درک عملی از این مفاهیم را ارائه میدهند. همچنین یاد خواهید گرفت که چگونه آرایهها را با استفاده از الگوریتمهای مختلف مرتب کنید و پایه محکمی برای تخصص برنامهنویسی خود ایجاد کنید. با پیشرفت در کتاب، به سراغ ساختارهای داده پیچیدهتر – درختها و گرافها – خواهید رفت و الگوریتمهایی را برای کارهایی مانند تعیین کوتاهترین مسیر در یک گراف کشف خواهید کرد، قبل از اینکه به سراغ الگوریتمهای مختلف در عمل، مانند حل سودوکو، بروید.
در پایان کتاب، یاد خواهید گرفت که چگونه از زبان C# برای ساخت اجزای الگوریتمی استفاده کنید که نه تنها درک و اشکالزدایی آنها آسان است، بلکه به طور یکپارچه در برنامههای مختلف، از جمله پلتفرمهای وب و موبایل، قابل اجرا هستند.
آنچه خواهید آموخت
اصول الگوریتمها و طبقهبندی آنها را درک کنید
دادهها را با استفاده از آرایهها و لیستها ذخیره کنید و روشهای مختلف مرتبسازی آرایهها را بررسی کنید
برنامههای کاربردی پیشرفته با پشتهها، صفها، جدولهای درهمسازی، دیکشنریها و مجموعهها بسازید
برنامههای کاربردی کارآمد با الگوریتمهای مرتبط با درخت، مانند جستجو در یک درخت جستجوی دودویی ایجاد کنید
کارایی راهحل را با نمودارها افزایش دهید، از جمله یافتن کوتاهترین مسیر در نمودار
الگوریتمهای حل بازیهای برج هانوی و سودوکو، تولید فراکتالها و حتی حدس زدن عنوان این کتاب را پیادهسازی کنید
این کتاب برای چه کسانی مناسب است؟
این کتاب برای توسعهدهندگانی است که به دنبال یادگیری ساختار دادهها و الگوریتمها در سیشارپ هستند. در حالی که مهارتهای اولیه برنامهنویسی و دانش سیشارپ مفید است، مبتدیان نیز در قطعه کدهای ارائه شده، تصاویر و توضیحات مفصل، ارزش زیادی خواهند یافت و مهارتهای برنامهنویسی خود را افزایش میدهند. توسعهدهندگان پیشرفته میتوانند از این کتاب به عنوان منبعی ارزشمند برای قطعه کدهای قابل استفاده مجدد استفاده کنند، به جای اینکه هر بار الگوریتمها را از ابتدا بنویسند.
فهرست مطالب
انواع داده
مقدمهای بر الگوریتمها
آرایه و مرتبسازی
انواع لیستها
پشتهها و صفها
دیکشنریها و مجموعهها
انواع درختها
بررسی گرافها
مشاهده در عمل
نتیجهگیری






























