کتاب های برچسب algorithms
تاریخ: ۲۱:۰:۴۲ ۱۳۹۸/۶/۱۷ یکشنبه
توسط: MotoMan
امتیاز: ۱

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

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

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

تعداد بازدید: ۴۱۷
دیدگاه ها: ۰
تاریخ: ۲۲:۵۱:۴۲ ۱۳۹۶/۱۱/۹ دوشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Data Structures | CPP | Algorithms |

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

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

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

تعداد بازدید: ۱۹۵۷
دیدگاه ها: ۰
تاریخ: ۲۱:۴۰:۳۵ ۱۳۹۶/۸/۱۲ جمعه
توسط: MotoMan
امتیاز: ۳
برچسب ها: Algorithms |

ویرایش پنجم کتاب Foundations of algorithms، ارائه ای متعادل از طراحی الگوریتم، آنالیز پیچیدگی الگوریتم و پیچیدگی محاسباتی می‌دهد. این کتاب برای هر دانشجوی علوم کامپیوتری که پیش زمینه ای از جبر و ساختمان‌های گسسته در مدرسه داشته است مناسب می‌باشد. مفاهیم ریاضی این کتاب با استفاده از زبان انگلیسی معمولی و علائم ساده و استاندارد بیان شده اند تا راحتی استفاده از آن برای خوانندگان به حداکثر برسد. ضمیمه‌های مرور مفاهیم ضروری ریاضی و رویکرد‌های دانشجو محور، توضیحات تئوری را تقویت می‌کنند و یادگیری و حفظ آن‌ها را ارتقا می‌دهد. شبه کدهای ++C و جاوا نیز به دانشجویان کمک می‌کند تا الگوریتم‌های پیچیده را بهتر بفهمند.
یک فصل در مورد الگوریتم‌های عددی شامل مروری بر تئوری اعداد، الگوریتم اقلیدس برای پیدا کردن بزرگترین مقسوم علیه مشترک، مروری بر همنهشتی، الگوریتمی برای حل معادلات خطی همنهشتی، الگوریتمی برای محاسبه modular powers، و الگوریتم جدید زمان- چند جمله ای برای تشخیص اعداد اول، می‌شود.
ویژگی‌های ویرایش پنجم که به روز رسانی و بازنگری شده اند شامل فصل‌های جدید در مورد الگوریتم‌های ژنتیک و برنامه نویسی ژنتیک می‌شود. این موارد عبارتند از راه حل‌های تقریبی برای مساله‌ی فروشنده‌ی دوره گرد، الگوریتمی برای مورچه مصنوعی که در امتداد غذا حرکت می‌کند، و یک برنامه برای معاملات مالی است.

 

تعداد بازدید: ۲۵۰۷
دیدگاه ها: ۰
تاریخ: ۱۹:۵۷:۴۱ ۱۳۹۴/۱۰/۳ پنج شنبه
توسط: punsher2011
امتیاز: ۴
برچسب ها: Java Script | Algorithms | HTML5 | Game Development |

این کتاب به توسعه دهنده‌های جاوا اسکریپتی آموزش میدهد که چگونه از فیزیک واقعی در بازی‌های HTML5 ، انیمیشن و شبیه سازی‌های خود استفاده کنند . 

تعداد بازدید: ۱۷۶۴
دیدگاه ها: ۱
تاریخ: ۲۳:۳۶:۵۶ ۱۳۹۴/۱۰/۲ چهارشنبه
توسط: punsher2011
امتیاز: ۱

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

تعداد بازدید: ۲۷۰۱
دیدگاه ها: ۰
تاریخ: ۱۴:۳۶:۴ ۱۳۹۲/۱۱/۱۱ جمعه
توسط: MotoMan
امتیاز: ۱۹
برچسب ها: Algorithms |

طراحی الگوریتم دانش ساخت الگوریتم‌ها برای حل مساله‌است. طراحی الگوریتم کاربردی را مهندسی الگوریتم می‌نامند. طراحی الگوریتم در بسیاری از راه حل‌های تئوری تحقیق در عملیات، شناسایی و گنجانیده شده‌است، مانند برنامه نویسی پویا و تقسیم و غلبه. الگوهای طراحی الگوریتم تکنیک‌های طراحی و اجرای طرح‌های الگوریتم هستند، در این روزها از طراحی الگوریتم می‌توان در فرایندهای بازیابی اینترنتی، مسیریابی استفاده نمود. هم اکنون در ایران طراحی الگوریتم‌ها به عنوان درسی در رشته مهندسی کامپیوتر (نرم‌افزار و سخت‌افزار) و فناوری اطلاعات تدریس می‌شود. در طراحی الگوریتم‌ها مباحثی همچون پیچیدگی زمانی، بازگشتی، روش تقسیم و غلبه، روش حریصانه، روش برنامه سازی پویا، تکنیک عقب گرد، نظریه P و NP تدریس می‌شود. زبان‌های برنامه نویسی رایانه‌های بزرگ مانند زبان ALGOL (برای زبان الگوریتمی)، زبان FORTRAN، زبان COBOL، زبان PL/I، زبان SAIL و SNOBOL ابزار محاسبات برای به اجرا درآوردن یک طراحی الگوریتم است اما یک طراحی الگوریتم (a/d) یک زبان نیست، یک a/d می‌تواند یک روش دست نوشته باشد، به طور مثال مجموعه‌ای از معادلات. یک سری از فرایندهای مکانیکی انجام شده توسط دست، قطعه آنالوگ از تجهیزات یا فرایند دیجیتال و پردازنده‌است. یکی از مهم‌ترین جنبه‌های طراحی الگوریتم، ایجاد یک الگوریتم است که دارای یک زمان اجرای کارآمد باشد، که به عنوان اوه بزرگ(big Oh)شناخته شده‌است.

این جزوه طراحی الگوریتم تدریس شده توسط استاد مهدی جبل عاملی در دانشگاه آزاد نجف آباد است که توسط یکی از دانشجویان ایشان گرد آوری شده است.

تعداد بازدید: ۴۶۱۰
دیدگاه ها: ۳
تاریخ: ۲۰:۴۸:۲۴ ۱۳۹۲/۱۰/۲۳ دوشنبه
توسط: sooth3r
امتیاز: ۸
برچسب ها: Data Structures | Algorithms |

کتاب مقدمه ای بر ساختمان داده‌ها که از انتشارات دانشگاه MIT می‌باشد ( قطعا احتیاجی به معرفی این دانشگاه نمی‌باشد ) هم می‌تواند برای آشنایی شما بر مبحث ساختمان داده استفاده شود و هم می‌تواند برای مطالعه‌ی تخصصی و مطالبی فراتر از آن استفاده شود که در ادامه به آن اشاره می‌شود ، ویرایش کتاب حاضر , ویرایش سوم آن و آخرین ویرایش موجود می‌باشد لازم به ذکر است که این کتاب به نام CLRS نیز معروف می‌باشد.

 

تعداد بازدید: ۵۷۱۷
دیدگاه ها: ۲
تاریخ: ۷:۲۶:۲۳ ۱۳۹۲/۸/۳ جمعه
توسط: MotoMan
امتیاز: ۶
برچسب ها: Algorithms |

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

این جزوه به صورت دست نویس می‌باشد و کیفیت آن بسیار خوب است. مدرس این درس دکتر سید حمید حاج سید جوادی است.

تعداد بازدید: ۴۴۳۹
دیدگاه ها: ۰
تاریخ: ۲۱:۲۱:۲۹ ۱۳۹۲/۷/۲۰ شنبه
توسط: MotoMan
امتیاز: ۶
برچسب ها: Algorithms |

ویرایش سوم کتاب Foundations of Algorithms با استفاده از شبه کد ++C، ویژگی هایی که باعث موفقیت ویرایش دوم شده بود را همچنان حفظ کرده است. همانند ویرایش دوم، ما همچنان از شبه کد به جای کد واقعی ++C استفاده کرده ایم. بیان کردن الگوریتم‌های پیچیده به همراه تمام جزئیات یک زبان برنامه نویسی خاص، بر یادگیری الگوریتم‌ها توسط دانشجو اثر منفی می‌گذارد. علاوه براین شبه کد باید برای هرکسی که به هر زبان برنامه نویسی سطح بالا آشنا است؛ قابل فهم باشد و این بدین معناست که باید تا آن جایی که امکان دارد از بیان جزئیات که مربوط به یک زبان برنامه نویسی خاص است اجتناب کرد.

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

تعداد بازدید: ۶۰۵۸
دیدگاه ها: ۲
تاریخ: ۹:۲۸:۵ ۱۳۹۲/۶/۱۷ یکشنبه
توسط: MotoMan
امتیاز: ۴
برچسب ها: Algorithms |

Trinity در فیلم Matrix این گونه بیان می‌کند که:

سوالی هست که ما را هدایت می‌کند، Neo. و آن سوال است که تو را به این جا کشانده است. تو هم آن سوال را می‌دانی، همان طور که من نیز می‌دانستم.

به عنوان نویسنده‌های این کتاب، ما آن سوالی را که شما را به اینجا هدایت کرده است را پاسخ می‌دهیم:

آیا می‌توانم از الگوریتم X برای حل کردن مشکلم استفاده کنم؟ اگر می‌شود، چگونه آن را پیاده سازی کنم؟

احتمالا شما احتیاجی به فهم این که چرا فلان الگوریتم درست است ندارید؛ در غیر این صورت باید به سراغ منابع مطالعاتی دیگری بروید به مانند کتاب Introduction to Algorithms ویرایش دوم، نوشته شده توسط Thomas H. Corman.

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

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

جذاب‌ترین شعار این کتاب این است: از کد‌های واقعی استفاده کنید، نه شبه کد.

تعداد بازدید: ۲۸۷۵
دیدگاه ها: ۱
loading...

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