کتاب های برچسب Algorithms
تاریخ: 1403/01/18 19:44
توسط: MotoMan
امتیاز: ۰
برچسب ها: Algorithms |

کتاب Grokking Algorithms, Second Edition (الگوریتم‌های گروکینگ، ویرایش دوم) الگوریتم‌های مهمی را به شما آموزش می‌دهد تا سرعت برنامه‌های خود را افزایش دهید، کد خود را ساده کنید و مسائل رایج برنامه نویسی را حل کنید. در این کتاب، با کارهایی مانند مرتب سازی و جستجو شروع می‌کنید و سپس برای از عهده بر آمدن مسائل پیچیده‌تر مانند فشرده سازی داده‌ها و هوش مصنوعی مهارت کسب خواهید کرد. شما حتی یاد خواهید گرفت که بین الگوریتم‌ها مقایسه عملکرد را انجام دهید. به علاوه، این نسخه جدید، مباحث درخت ها، مسائل NP-complete و به‌روزرسانی‌های کد پایتون 3 را پوشش داده است.

ویرایش دوم کتاب، شامل مباحث جدیدی از جمله درخت ها، درختان جستجوی دودویی، درختان متوازن و درختان B می‌شود. همچنین بینش جدیدی در مورد عملکرد ساختمان داده‌ها که CPU‌های مدرن را در نظر می‌گیرد، به دست خواهید آورد.

تعداد بازدید: ۴۲۶۹
دیدگاه ها: ۱
تاریخ: 1402/11/15 22:47
توسط: MotoMan
امتیاز: ۰
برچسب ها: Algorithms |

یک گراف، به زبان ساده، شبکه ای از داده‌های متصل است. گراف‌ها روشی کارآمد برای شناسایی و کشف روابط مهمی هستند که به طور طبیعی در یک مجموعه داده رخ می‌دهند. این کتاب مهم‌ترین الگوریتم‌ها را برای علم داده‌های گراف با مثال‌هایی از یادگیری ماشین، برنامه‌های کاربردی تجاری، پردازش زبان طبیعی و موارد دیگر ارائه می‌کند.

کتاب Graph Algorithms for Data Science (الگوریتم ‌های گرفا برای علوم داده)، به شما نشان می‌دهد که چگونه گراف‌ها را از داده‌های ساختاریافته و بدون ساختار بسازید و تجزیه و تحلیل کنید. در این کتاب، با قرار دادن هر الگوریتم جدید در یک پروژه داده عملی، استفاده از الگوریتم‌های گراف مانند PageRank، تشخیص/خوشه‌بندی جامعه، و مدل‌های گراف دانش را یاد خواهید گرفت. این کتاب پیشرفته همچنین نشان می‌دهد که چگونه می‌توانید گراف هایی ایجاد کنید که ورودی مدل‌های هوش مصنوعی را با استفاده از تعبیه گره بهینه می‌کند.

 
تعداد بازدید: ۲۶۰۲
دیدگاه ها: ۰
تاریخ: 1402/07/18 07:41
توسط: MotoMan
امتیاز: ۳
برچسب ها: Algorithms |

توانایی استفاده از الگوریتم‌ها برای حل مسائل دنیای واقعی یک مهارت ضروری برای هر توسعه دهنده یا برنامه نویسی است. این کتاب به شما کمک می‌کند تا نه تنها مهارت‌های انتخاب و استفاده از الگوریتم‌ها برای حل مسائل در دنیای واقعی را توسعه دهید، بلکه به درک نحوه عملکرد آنها نیز کمک می‌کند.
شما قبل از بررسی نحوه پیاده‌سازی انواع مختلف الگوریتم‌ها با کمک مثال‌های عملی، با مقدمه‌ای بر الگوریتم‌ها و کشف تکنیک‌های مختلف طراحی الگوریتم  شروع خواهید کرد. در کتاب 50 Algorithms Every Programmer Should Know (پنجاه الگوریتمی که هر برنامه نویسی باید بداند)، در مورد برنامه نویسی خطی، رتبه بندی صفحات و نمودارها یاد خواهید گرفت و سپس با الگوریتم‌های یادگیری ماشینی کار خواهید کرد تا ریاضیات و منطق پشت آنها را درک کنید.
موارد مطالعاتی به شما نشان می‌دهند که چگونه این الگوریتم‌ها را قبل از تمرکز بر الگوریتم‌های یادگیری عمیق و آشنایی با انواع مختلف مدل‌های یادگیری عمیق همراه با کاربرد عملی آن‌ها، به‌طور بهینه اعمال کنید. همچنین در مورد مدل‌های متوالی مدرن و انواع آن‌ها، الگوریتم‌ها، متدولوژی‌ها و معماری‌هایی که برای پیاده‌سازی مدل‌های زبان بزرگ (LLM) مانند ChatGPT استفاده می‌شوند، آشنا خواهید شد.
در نهایت، با تکنیک هایی که پردازش موازی را امکان پذیر می‌کند، به خوبی آشنا خواهید شد و به شما امکان می‌دهد تا از این الگوریتم‌ها برای کارهای محاسباتی فشرده استفاده کنید. در پایان این کتاب برنامه نویسی، شما در حل مسائل محاسباتی دنیای واقعی با استفاده از طیف گسترده ای از الگوریتم‌ها ماهر خواهید شد.

 

تعداد بازدید: ۷۸۱۶
دیدگاه ها: ۳
تاریخ: 1401/02/15 15:59
توسط: MotoMan
امتیاز: ۱
برچسب ها: Algorithms |

از فید خبری فیس‌بوک گرفته تا آخرین حق بیمه شما، حتی درست کردن نان تست! الگوریتم‌ها تقریباً در همه چیزهایی که در جامعه مدرن و در زندگی شخصی شما اتفاق می‌افتد، نقش دارند. در حالی که الگوریتم‌ها می‌توانند از دور پیچیده به نظر برسند، واقعیت این است که با کمی کمک، هر کسی می‌تواند این ابزار قدرتمند حل مسئله را درک و حتی استفاده کند!
در کتاب Algorithms For Dummies (الگوریتم‌ها برای دامیز)، شما اصول اولیه الگوریتم‌ها را بررسی خواهید کرد، از جمله اینکه آنها چیستند، چگونه کار می‌کنند، کجا می‌توانید آنها را پیدا کنید (هشدار اسپویلر: همه جا!)، چه کسی مهم‌ترین الگوریتم‌های مورد استفاده امروزی را اختراع کرده است (یک فیلسوف یونانی درگیر است)، و چگونه خودتان آنها را ایجاد کنید.
چه یک کاربر کنجکاو اینترنت باشید که نمی‌دانید که چگونه گوگل همیشه پاسخ درست سوال شما را می‌داند یا یک دانشجوی تازه کار علوم کامپیوتر که به دنبال یک امتیاز در کلاس بعدی خود است، Algorithms For Dummies منبعی است که همیشه منتظر آن بودید و نمی‌توانید آن را از دست بدهید.

 

تعداد بازدید: ۳۷۶۲
دیدگاه ها: ۰
تاریخ: 1401/01/29 22:01
توسط: MotoMan
امتیاز: ۱
برچسب ها: Algorithms |

یک الگوریتم، چیزی بیشتر از یک رویه‌ی گام به گام برای حل یک مسئله نیست. الگوریتم هایی که اغلب به عنوان یک برنامه نویس استفاده می‌کنید، قبلاً کشف، آزمایش و اثبات شده اند. اگر می‌خواهید که آن‌ها را بفهمید اما از درگیر شدن با اثبات‌های چندین صفحه ای سنگین امتناع می‌کنید، این کتاب برای شماست. این راهنمای کاملاً مصور و جذاب، یادگیری نحوه استفاده مؤثر از مهمترین الگوریتم‌ها در برنامه‌های خودتان را آسان می‌کند.

کتاب Grokking Algorithm (الگوریتم گروکینگ)، یک راهنمای کاملاً مصور و دوستانه است که به شما می‌آموزد که چگونه الگوریتم‌های رایج را برای مسائل کاربردی که هر روز به عنوان یک برنامه نویس با آن‌ها مواجه می‌شوید، بکار گیرید. شما با مرتب‌سازی و جستجو شروع می‌کنید و با تقویت مهارت‌های خود در تفکر الگوریتمی، با دغدغه‌های پیچیده‌تری مانند فشرده‌سازی داده‌ها و هوش مصنوعی دست و پنجه نرم خواهید کرد. هر مثال ارائه شده در این کتاب شامل نمودارهای مفید و نمونه کدهای کاملاً مشروح شده با پایتون است.

 
تعداد بازدید: ۱۰۷۵۵
دیدگاه ها: ۰
تاریخ: 1401/01/20 21:59
توسط: MotoMan
امتیاز: ۱
برچسب ها: Algorithms |

کتاب Introduction to Algorithms, 4th edition (مقدمه ای بر الگوریتم ها، ویرایش چهارم)، به روز رسانی جامعی برای یکی از پیشرو‌ترین کتاب‌های الگوریتم است که شامل مطالب جدیدی درباره تطابق‌ها در گراف‌های دو بخشی، الگوریتم‌های آنلاین، یادگیری ماشین و موضوعات دیگر است.

برخی از کتاب‌ها در مورد الگوریتم ها، دقیق اما ناقص هستند؛ دیگر کتاب‌ها هم انبوهی از موضوعات را پوشش می‌دهند، اما فاقد دقت هستند. ویرایش چهارم کتاب مقدمه ای بر الگوریتم ها، به طور منحصر به فردی دقت و جامعیت را با هم ترکیب می‌کند. این کتاب، طیف گسترده ای از الگوریتم‌ها را به صورت عمقی پوشش می‌دهد، در حالی که طراحی و تجزیه و تحلیل آنها را با فصل‌ها و الگوریتم‌های مستقل و به صورت شبه کد برای تمام سطوح خوانندگان در دسترس قرار می‌دهد. از زمان انتشار اولین ویرایش کتاب، مقدمه ای بر الگوریتم‌ها به کتابی پیشرو در زمینه الگوریتم‌ها در دانشگاه‌های سراسر جهان و همچنین مرجع استاندارد برای متخصصان تبدیل شده است.

تعداد بازدید: ۱۷۵۲۷
دیدگاه ها: ۲
تاریخ: 1400/12/19 19:35
توسط: MotoMan
امتیاز: ۲
برچسب ها: Algorithms |

کتاب Algorithmic Thinking (تفکر الگوریتمی)، نحوه‌ی حل مسائل چالش برانگیز برنامه نویسی و طراحی الگوریتم‌ها را به شما آموزش می‌دهد. دانیل زینگارو، استاد ارشد، مثال‌های خود را از مسابقات برنامه نویسی در سطح جهانی مانند USACO و IOI گردآوری است. شما در این کتاب یاد خواهید گرفت که چگونه مسائل را طبقه بندی کنید، ساختمان‌های داده را انتخاب کنید و الگوریتم‌های مناسب را شناسایی کنید. شما همچنین یاد خواهید گرفت که چگونه ساختمان داده‌ی انتخابی شما، اعم از جدول هش، هرم یا درخت می‌توانند بر زمان اجرا و افزایش سرعت الگوریتم‌های شما تاثیر بگذارند. همچنین چگونگی اتخاذ استراتژی‌های قدرتمند مانند بازگشت، برنامه نویسی پویا و جستجوی دو دویی برای حل مسائل چالش برانگیز را فرا خواهید.

تعداد بازدید: ۴۳۵۱
دیدگاه ها: ۰
تاریخ: 1400/04/22 00:08
توسط: MotoMan
امتیاز: ۲
برچسب ها: Data Structures |Algorithms |

اگر فکر می‌کنید که ساختمان داده‌ها و الگوریتم‌ها همگی فقط تئوری هستند، آنچه را که آن‌ها می‌توانند برای کد شما انجام دهند را از دست می‌دهید. بیاموزید که از  Oبزرگ استفاده کنید تا کد شما به مراتب سریعتر اجرا شود. از ساختمان داده هایی مانند جدول‌های هش، درخت‌ها و گراف‌ها برای افزایش تصاعدی کارایی کد خودتان استفاده کنید. این کتاب با زبان ساده و نمودارهای واضح، بدون توجه به سابقه شما، این موضوع پیچیده را قابل دسترسی می‌کند. ویرایش جدید این کتاب، تمرین‌های عملی در هر فصل ارائه می‌دهد و فصل‌های جدیدی با موضوعاتی همچون برنامه نویسی پویا، هیپ‌ها و درخت‌ها اضافه شده اند. در این کتاب، اطلاعات عملی مورد نیاز کار روزمره را برای تسلط بر ساختمان داده‌ها و الگوریتم ها، دریافت خواهید کرد.
الگوریتم‌ها و ساختمان داده ها، بسیار بیشتر از مفاهیم انتزاعی هستند. تسلط بر آن‌ها شما را به قادر به نوشتن کد هایی می‌کند که سریع‌تر و کارآمد‌تر اجرا شوند؛ به ویژه این موارد برای برنامه‌های وب و موبایل امروزی بسیار مهم هستند. با استفاده از تکنیک‌ها و سناریوهای دنیای واقعی که می‌توانید در کد تولیدی روزانه خود همراه با مثال هایی در جاوا اسکریپت، پایتون و روبی استفاده کنید، رویکردی عملی در ساختمان داده‌ها و الگوریتم‌ها داشته باشید. ویرایش دوم کتاب A Common-Sense Guide to Data Structures and Algorithms, Second Edition (راهنمای عام برای ساختمان داده‌ها و الگوریتم ها، ویرایش دوم)، دارای فصل‌های جدیدی درباره بازگشت، برنامه نویسی پویا و استفاده از O بزرگ در کارهای روزمره است.
برای اندازه گیری و بیان کارآیی کد خودتان، از علامت Big O استفاده کنید و الگوریتم خود را برای سریعتر کردن آن اصلاح کنید. دریابید که چگونه انتخاب آرایه ها، لیست‌های پیوندی و جداول هش، می‌توانند به طرز چشمگیری بر کدی که می‌نویسید تأثیر بگذارند. برای حل مسائل قلق دار، از بازگشت استفاده کنید و الگوریتم هایی ایجاد کنید که به طور تساعدی سریع‌تر از گزینه‌های جایگزین اجرا می‌شوند. برای کمک به مقیاس پذیر کردن برنامه‌های خاصی همچون شبکه‌های اجتماعی و نرم افزار‌های نقشه برداری، در ساختمان داده‌های پیشرفته ای مانند درخت‌های دو دویی و گراف‌ها کنکاش کنید. حتی ممکن است که با یک کلمه کلیدی روبرو شوید که می‌تواند کد شما را بسیار سرعت بخشد. همچنین با تمرین‌های موجود در هر فصل همراه با راه حل‌های تشریحی، مهارت‌های جدید خود را تمرین کنید. همین امروز از این تکنیک‌ها استفاده کنید تا کد شما سریعتر و مقیاس پذیرتر شود.

 

تعداد بازدید: ۵۳۸۲
دیدگاه ها: ۱
تاریخ: 1399/06/15 22:17
توسط: MotoMan
امتیاز: ۱
برچسب ها: Data Structures |CPP |Algorithms |

ویرایش هفتم کتاب Data Abstraction & Problem Solving with C++: Walls and Mirrors، مفاهیم اساسی علوم کامپیوتر مرتبط با مطالعه ساختمان‌های داده را معرفی می‌کند. این کتاب، حل مسئله و دسترسی و دستکاری کارآمد داده‌ها را بررسی می‌کند و برای خوانندگانی نوشته شده است که از قبل درکی پایه ای از سی پلاس پلاس دارند.

«دیوارها و آینه ها» ذکر شده در عنوان کتاب، نشان دهنده تکنیک‌های حل مسئله است که در متن کتاب ارائه شده اند. انتزاع داده ها، جزئیات یک ماژول را از بقیه برنامه پنهان می‌کند، در حالی که بازگشت یک تکنیک تکراری است که با حل نسخه‌های کوچکتر از همان مسئله، مسئله را حل می‌کند، همانطور که تصاویر در آینه‌های روبروی هم، با هر بازتاب کوچکتر می‌شوند. همراه با تغییرات کلی برای بهبود وضوح و صحت، ویرایش هفتم این کتاب شامل یادداشت‌های جدید، نکات برنامه نویسی و مسائل نمونه است.

تعداد بازدید: ۳۲۸۰
دیدگاه ها: ۰
تاریخ: 1399/01/18 21:05
توسط: MotoMan
امتیاز: ۱
برچسب ها: Data Structures |Algorithms |Python |

ساختمان داده‌ها به شما امکان می‌دهند تا داده‌ها را به صورتی کارآمد ذخیره و سازماندهی کنید. آنها برای هر مسئله ای بسیار مهم هستند، یک راه حل کامل ارائه می‌دهند و مانند کدی قابل استفاده مجدد عمل می‌کنند. ویرایش دوم کتاب Hands-On Data Structures and Algorithms with Python، ساختمان‌های داده اساسی پایتون و متداول‌ترین الگوریتم‌ها برای ساختن برنامه‌های آسان و قابل نگهداری را به شما آموزش می‌دهد.

این کتاب به شما کمک می‌کند تا قدرت لیست‌های پیوندی، لیست‌های پیوندی دوطرفه و لیست‌های پیوندی حلقوی را درک کنید. شما ایجاد ساختمان داده‌های پیچیده ای همچون گراف ها، پشته‌ها و صف‌ها را یاد خواهید گرفت. همان طور که فصل‌های کتاب را یکی پس از دیگری می‌گذرانید، شما کاربرد‌های جستجوی دو دویی و درخت‌های جستجوی دو دویی را همراه با یادگیری تکنیک‌ها و ساختار‌های رایج مورد استفاده در کارهایی مثل پیش پردازش، مدل سازی و تبدیل داده‌ها بررسی خواهید کرد. در فصل‌های پایانی، با سازمان دهی کد خود به روشی قابل مدیریت، سازگار و بسط پذیر، چم و خم آن را پیدا خواهید کرد. شما همچنین نحوه مرتب سازی حبابی، مرتب سازی انتخابی، مرتب سازی درجی و ادغام الگوریتم‌های مرتب سازی را به تفصیل مطالعه خواهید کرد. در پایان کتاب خواهید آموخت که چگونه کامپوننت هایی بسازید که به راحتی قابل فهم باشند و اشکال زدایی شوند تا در برنامه‌های مختلف استفاده کنید. شما همچنین در مورد پیاده سازی همه‌ی الگوریتم‌های مهم و مرتبط با پایتون اطلاعاتی کسب خواهید کرد.

این کتاب برای توسعه دهندگانی است که می‌خواهند ساختمان داده‌ها و الگوریتم‌های پایتون را یاد بگیرند تا برنامه‌های پیچیده و انعطاف پذیر بنویسند. در این کتاب دانستن دانش پایه برنامه نویسی پایتون انتظار می‌رود.

تعداد بازدید: ۵۷۰۶
دیدگاه ها: ۱
تاریخ: 1399/01/04 20:19
توسط: MotoMan
امتیاز: ۲
برچسب ها: Algorithms |

این کتاب، از مجموعه ای از یادداشت‌های تدریس من برای کلاس‌های مختلف الگوریتمی که من از ژانویه سال 1999 تقریبا سالی یک بار در دانشگاه Illinois در Urbana-Champaign تدریس می‌کنم، تشکیل شده است. با تغییر در برنامه درسی تئوری کارشناسی، یک بازنگری اساسی در یادداشت هایم در سال 2016 انجام دادم. این کتاب شامل زیر مجموعه ای از یادداشت‌های اصلاح شده من در مورد اساسی‌ترین مطالب درسی است که عمدتا منعکس کننده محتوای الگوریتمی دوره تئوری جدید سطح مورد نیاز ما است.

کلاس‌های الگوریتمی که در Illinois تدریس می‌کنم دو پیش نیاز مهم دارند: دوره‌ی ریاضیات گسسته و دوره ای در مورد مبانی ساختمان‌های داده. در نتیجه این کتاب به عنوان اولین دوره در مورد ساختمان‌های داده و الگوریتم ها، احتمالا برای بیشتر دانشجویان مناسب نیست.

تعداد بازدید: ۳۴۱۲
دیدگاه ها: ۰
تاریخ: 1399/01/02 14:45
توسط: MotoMan
امتیاز: ۲
برچسب ها: Algorithms |

ایده‌های الگوریتمی فراگیر هستند و رسیدن آن‌ها به نمونه هایی در علوم کامپیوتر و فراتر از آن مشهود است. برخی از تغییرات عمده در استانداردهای مسیریابی اینترنت را می‌توان به عنوان بحث هایی بر روی نواقص یک الگوریتم کوتاه‌ترین مسیر و مزایای نسبی دیگری مشاهده کرد. مفاهیم اساسی که زیست شناسان برای بیان شباهت در بین ژن‌ها و ژنوم‌ها استفاده می‌کنند، نیز تعاریف الگوریتمی دارند. نگرانی‌های مطرح شده از سوی اقتصاد دانان مبنی بر امکان سنجی حراج‌های ترکیبی در عمل، تا حدی ریشه در این واقعیت دارد که این حراج‌ها شامل مشکلات جستجوی محاسباتی غیرقابل کنترل در موارد خاص هستند؛ و مفاهیم الگوریتمی فقط به مسائل شناخته شده و دیرینه محدود نمی‌شوند. یک نفر بازتاب این ایده‌ها را در موضوعات جدیدی که در طیف وسیعی از حوزه‌ها بوجود آمده اند را بطور منظم مشاهده می‌کند. دانشمندی در Yahoo! که یک روز در موقع ناهار درباره سیستم خودشان برای ارائه تبلیغات به کاربران با ما صحبت می‌کرد، مجموعه ای از مشکلاتی را توصیف می‌کرد که در اعماق، می‌توانست به عنوان یک مشکل جریان شبکه مدل شود.

نکته این نیست که الگوریتم‌ها کاربردهای زیادی دارند. مسئله عمیق‌تر این است که موضوع الگوریتم‌ها لنز قدرتمندی هستند که از طریق آن می‌توان به طور کلی زمینه علم کامپیوتر را مشاهده کرد. مسائل الگوریتمی قلب علم کامپیوتر را تشکیل می‌دهند، اما آنها به ندرت به شکل سؤالات دقیق ریاضی و حاضر و آماده ارائه می‌شوند. در عوض، آنها تمایل دارند که با بسیاری از جزئیات در هم بر هم و با کاربرد‌های خاصی همراه شوند که برخی از آنها ضروری هستند و برخی از آنها غیر مرتبط. در نتیجه، پروژه الگوریتمی از دو مؤلفه اساسی تشکیل شده است: رسیدن به اصل ریاضی تمیز یک مسئله و سپس شناسایی تکنیک‌های طراحی مناسب الگوریتم بر اساس ساختار مسئله.

تعداد بازدید: ۵۱۱۱
دیدگاه ها: ۰
تاریخ: 1399/01/01 15:53
توسط: MotoMan
امتیاز: ۲
برچسب ها: Data Structures |Algorithms |

قسمت دوم چاپ چهارم کتاب الگوریتم‌‌های رابرت صدگویک و کوین وین، با هدف بررسی مهمترین الگوریتم‌های کامپیوتری مورد استفاده و آموزش تکنیک‌های اساسی به تعداد فزاینده افرادی که نیاز به دانستن آنها دارند نوشته شده است. بعد از اینکه دانشجویان مهارت‌های برنامه نویسی پایه ای را کسب کردند و با سیستم‌های کامپیوتری آشنا شدند، این کتاب برای استفاده به عنوان کتاب درسی دوره دوم در علوم کامپیوتر در نظر گرفته شده است. این کتاب همچنین ممکن است برای خود خوانی یا به عنوان مرجعی برای افرادی که مشغول توسعه سیستم‌های رایانه ای یا برنامه‌های کاربردی هستند مفید باشد، زیرا شامل پیاده سازی الگوریتم‌های مفید و اطلاعات دقیق در مورد مشخصات کارایی و کلاینت‌ها است. چشم انداز گسترده ای که در نظر گرفته شده، باعث می‌شود که این کتاب مقدمه ای مناسب برای این زمینه باشد.

تعداد بازدید: ۴۳۴۶
دیدگاه ها: ۰
تاریخ: 1399/01/01 10:18
توسط: MotoMan
امتیاز: ۳
برچسب ها: Data Structures |Algorithms |

مطالعه الگوریتم‌ها و ساختمان داده‌ها اساسی برای هر برنامه درسی علوم کامپیوتر است، اما فقط برای برنامه نویسان و دانشجویان علوم کامپیوتر نیست و هر کسی که از کامپیوتر استفاده می‌کند می‌خواهد که آن سریعتر اجرا شود و یا مسائل بزرگتری را حل کند. الگوریتم‌های موجود در این کتاب نشان دهنده گستره دانشی است که طی 50 سال گذشته توسعه یافته و ضروری شده اند. از مسائل شبیه سازی N-body در فیزیک گرفته تا مسائل توالی ژنتیکی در زیست شناسی مولکولی، روش‌های اساسی شرح داده شده در این کتاب در تحقیقات علمی ضروری هستند؛ از سیستم‌های مدل سازی معماری گرفته تا شبیه ساز هواپیماها، به ابزار اساسی در مهندسی تبدیل شده اند؛ از سیستم‌های پایگاه داده گرفته تا موتورهای جستجوگر اینترنتی، آنها به بخش‌های ضروری سیستم‌های نرم افزاری مدرن تبدیل شده اند. و اینها تنها چند نمونه است و با گسترش حوزه برنامه‌های کامپیوتری، تاثیر روش‌های اساسی تحت پوشش در اینجا افزایش می‌یابند.

تعداد بازدید: ۶۱۶۰
دیدگاه ها: ۲
تاریخ: 1398/06/17 21:00
توسط: MotoMan
امتیاز: ۳

به عنوان یک توسعه دهنده، مطمئناً در مورد ساختمان داده‌ها و الگوریتم‌های مختلف شنیده اید. با این حال، آیا تا به حال در مورد آنها و تأثیرشان بر عملکرد برنامه‌های خود عمیقا فکر کرده اید؟ اگر نه، وقت آن است که نگاهی به این موضوع بیندازیم و این کتاب جای بسیار خوبی برای شروع است!

کتاب ساختمان داده‌ها و الگوریتم‌ها در سیشارپ، ساختمان داده‌های زیادی را پوشش می‌دهد که از ساده‌ترین آن‌ها یعنی آرایه‌ها و انواع مختلف آن، به عنوان نماینده ساختمان داده‌های دسترسی تصادفی شروع می‌کند. سپس لیست‌ها همراه با نوع مرتب شده آن‌ها معرفی شده اند. این کتاب همچنین ساختمان‌های داده دسترسی محدود را بر اساس پشته‌ها و صف ها، از جمله صف اولویت توضیح می‌دهد. پس از این، ما ساختمان داده دیکشنری را به شما معرفی می‌کنیم که به شما این امکان را می‌دهد تا کلید‌ها را به مقادیر نگاشت کنید و جست و جوی سریع انجام دهید. همچنین نوع مرتب شده دیکشنری نیز پشتیبانی می‌شود.  اگر می‌خواهید که از عملیات مرتبط با مجموعه‌ها با کارایی بالا بهره ببرید، شما می‌توانید از ساختمان داده دیگری به نام hash set استفاده کنید. یکی از قدرتمند‌ترین ساختار‌ها درخت است که در چند نوع مختلف مثل درخت دودویی، درخت جستجوی دودویی، درخت خود متوازن و هیپ وجود دارد. آخرین ساختمان داده ای که ما بررسی می‌کنیم گراف است که توسط بسیاری از مباحث جالب الگوریتمی مثل پیمایش گراف، درخت پوشای کمینه، رنگ آمیزی نود‌ها و پیدا کردن کوتاه‌ترین مسیر در گراف پشتیبانی می‌شود. مطالب زیادی پیش روی شماست!

کتاب ساختمان داده‌ها و الگوریتم‌ها در سیشارپ، برای آن دسته از توسعه دهندگانی است که دوست دارند ساختمان داده‌ها و الگوریتم‌ها در #C را یاد بگیرند. دانش پایه ای برنامه نویسی #C در استفاده بهتر شما از این کمک مفید خواهد بود.

تعداد بازدید: ۷۶۶۶
دیدگاه ها: ۰
تاریخ: 1396/11/09 22:51
توسط: MotoMan
امتیاز: ۲
برچسب ها: Data Structures |CPP |Algorithms |

ما ساختمان‌های داده را مطالعه می‌کنیم تا بتوانیم یاد بگیریم که برنامه‌های کارآمدتری بنویسیم. ولی چرا با این که هر ساله کامپیوترهای جدید سریع‌تر می‌شوند برنامه‌ها باید کارآمد باشند؟ دلیلش این است که جاه طلبی‌ها ما نیز به همراه توانایی‌های ما رشد می‌کنند. به جای اینکه ارائه راندمان بالا منسوخ شود، انقلاب مدرن در توان محاسباتی و قابلیت‌های ذخیره سازی صرفا بهره وری را افزایش می‌دهند همان طور که ما تلاش به انجام کارهای پیچیده‌تر می‌کنیم.

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

کتاب تحلیل ساختمان‌های داده و الگوریتم‌ها در سی پلاس پلاس؛ راهنمایی جامع با تمرکز بر روی ایجاد ساختمان‌های داده و الگوریتم‌های با راندمان بالا است. این کتاب چگونگی انتخاب و یا طراحی مناسبترین ساختمان داده برای یک مسئله را بیان کرده است. در این کتاب از ++C  به عنوان زبان برنامه نویسی استفاده شده است.

تعداد بازدید: ۶۷۷۰
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...