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






























