
الگوریتم چیست
یک الگوریتم فی نفسه چیزی نیست جز یک رسید گام به گام برای حل یک مسئله. اکثر الگوریتم های مورد استفاده در برنامه نویسی این روزها قبلاً کشف، آزمایش و اثبات شده اند. الگوریتم ها در جاوا روش های ثابتی هستند که برای انجام عملیات های مختلف روی مجموعه ها استفاده می شوند. اگر از ساختارهای داده توسط برنامه نویسان جاوا برای ذخیره و سازماندهی داده ها استفاده شود، از الگوریتم ها برای دستکاری داده ها در آن ساختارها استفاده می شود. بنابراین این دو موضوع به یکدیگر گره خورده اند و درک نحوه کار آنها با هم بسیار مهم است و می تواند کدنویسی جاوا شما را بسیار کارآمدتر کند. الگوریتم ها را می توان برای هر زبان برنامه نویسی اعمال کرد و معمولاً از برنامه نویسان با تجربه قوی انتظار می رود که حداقل اصول این مبحث را بدانند و همچنین بدانند که چگونه الگوریتم ها را به کد در زبان برنامه نویسی مورد استفاده خود تبدیل کنند.کتاب در مورد الگوریتم ها
- ساختارها و الگوریتم های داده
توسط ناراسیما کارومانچی آسان شده است.
یکی از بهترین کتاب های درسی برای مبتدیان در الگوریتم ها (و ساختار داده). «ساختارهای داده و الگوریتمها آسان شد: ساختارهای داده و پازلهای الگوریتمی» کتابی است که راهحلهایی برای ساختارهای داده و الگوریتمهای پیچیده ارائه میدهد. راه حل های متعددی برای هر مشکل وجود دارد و کتاب به زبان C/C++ کدگذاری شده است. شما می توانید از این به عنوان یک راهنما برای آماده شدن برای مصاحبه، امتحانات و کار در محوطه دانشگاه استفاده کنید.
- الگوریتم های گروکینگ
توسط آدیتیا بهارگاوا.
«الگوریتمهای گروکینگ» یک راهنمای آسان برای درک، کاملاً مصور و نوشته شده با لحن دوستانه است که به شما میآموزد چگونه الگوریتمهای رایج را برای مشکلات عملی که هر روز به عنوان یک برنامهنویس با آن مواجه میشوید، اعمال کنید. شما با مرتبسازی و جستجو شروع میکنید و با تقویت مهارتهای خود در تفکر الگوریتمی، با نگرانیهای پیچیدهتری مانند فشردهسازی دادهها و هوش مصنوعی مقابله خواهید کرد. هر مثال شامل نمودارها و نمونه کدهای کاملاً مشروح شده در پایتون است.
- الگوریتم های باز شده
توسط توماس کورمن.
کتابی درباره مبانی الگوریتم ها برای مبتدیان و متخصصان برنامه نویسی که می خواهند دانش خود را در این زمینه گسترش دهند، این بار به عنوان یک کتاب درسی کالج برای دانشجویان MIT نوشته شده است.
خوانندگان یاد خواهند گرفت که الگوریتم های کامپیوتری چیست، چگونه آنها را توصیف کنند و چگونه آنها را ارزیابی کنند. آنها راه های ساده ای را برای جستجوی اطلاعات در رایانه کشف خواهند کرد. روش هایی برای مرتب سازی مجدد اطلاعات در رایانه به ترتیب مقرر ("مرتب سازی")؛ چگونه می توان مسائل اساسی را که می توان در یک کامپیوتر با ساختار ریاضی به نام "گراف" مدل سازی کرد (مفید برای مدل سازی شبکه های جاده ای، وابستگی بین وظایف و روابط مالی). چگونه مسائلی را که در مورد رشته هایی از کاراکترها مانند ساختارهای DNA سوال می پرسند حل کنیم. اصول اساسی پشت رمزنگاری؛ اصول فشرده سازی داده ها؛ و حتی برخی از مشکلات وجود دارد که هیچ کس متوجه نشده است که چگونه در یک زمان معقول در رایانه حل کند.» نویسنده کتاب می گوید.
- ساختار داده ها و الگوریتم ها در جاوا
توسط رابرت لافور.
و در اینجا یک کتاب درسی است که به طور خاص بر جاوا تمرکز دارد. رابرت لافور علاوه بر برنامههای نمونه واضح و ساده، کارگاه آموزشی را به عنوان یک برنامه نمایشی کوچک قابل اجرا در مرورگر وب به کتاب اضافه کرد. برنامه ها به صورت گرافیکی نشان می دهند که ساختارهای داده چگونه به نظر می رسند و چگونه کار می کنند.
راهحلهای پیشنهادی برای پروژههای برنامهنویسی که در پایان هر فصل یافت میشوند، در اختیار مربیان مؤسسات آموزشی معتبر قرار میگیرند. این مکمل آموزشی کتاب درسی را میتوانید در سایت pearson.com ، در مرکز منابع مربی پیدا کنید.
- سلام جهان: انسان بودن در عصر الگوریتم ها
اثر هانا فرای.
«سلام جهان: انسان بودن در عصر الگوریتمها» نوشته هانا فرای کتاب نسبتاً جالبی است که الگوریتمها را از منظری کمی متفاوت نگاه میکند. نویسنده در حال توصیف قدرت ها و محدودیت های واقعی الگوریتم هایی است که در حال حاضر تصمیمات مهم در مراقبت های بهداشتی، حمل و نقل، جرم و جنایت و تجارت را خودکار می کنند.
دوره های آنلاین الگوریتم ها
- الگوریتم ها، قسمت اول
، قسمت دوم
توسط دانشگاه پرینستون از طریق کورسرا.
یک دوره بسیار عالی کاملا رایگان از پرینستون. این اطلاعات ضروری را پوشش می دهد که هر برنامه نویس جدی باید درباره الگوریتم ها و ساختارهای داده بداند، با تأکید بر برنامه های کاربردی و تجزیه و تحلیل عملکرد علمی پیاده سازی های جاوا. بخش اول ساختارهای داده اولیه، مرتبسازی و الگوریتمهای جستجو را پوشش میدهد. بخش دوم بر روی الگوریتم های پردازش گراف و رشته تمرکز دارد. این دوره پس از اتمام گواهی ارائه نمی دهد.
- برنامه تخصصی ساختارهای داده و الگوریتم ها
توسط UC San Diego از طریق Coursera.
یکی دیگر از برنامه های دوره معتبر در مورد الگوریتم ها و ساختارهای داده ارائه شده توسط دانشگاه کالیفرنیا، سن دیگو و دانشکده عالی اقتصاد موسسه تحقیقات ملی. این تخصص ترکیبی از تئوری و عمل است: شما تکنیک های الگوریتمی را برای حل مسائل محاسباتی مختلف یاد خواهید گرفت و حدود 100 مسئله کدگذاری الگوریتمی را در یک زبان برنامه نویسی انتخابی خود پیاده سازی خواهید کرد.
«هیچ دوره آنلاین دیگری در الگوریتمها حتی به ارائه انبوهی از چالشهای برنامهنویسی که ممکن است در مصاحبه شغلی بعدی خود با آنها مواجه شوید، نزدیک نباشد. برای آماده سازی شما، ما بیش از 3000 ساعت برای طراحی چالش های خود به عنوان جایگزینی برای سؤالات چند گزینه ای که معمولاً در MOOCs پیدا می کنید، سرمایه گذاری کردیم. متأسفیم، ما در مورد یادگیری الگوریتم ها یا هر چیز دیگری در علوم کامپیوتر به سوالات چند گزینه ای اعتقاد نداریم! برای هر الگوریتمی که توسعه و پیادهسازی میکنید، آزمایشهای متعددی برای بررسی صحت و زمان اجرای آن طراحی کردهایم - شما باید برنامههای خود را بدون اینکه بدانید این تستها چیست، اشکال زدایی کنید! ممکن است دشوار به نظر برسد، اما ما معتقدیم که این تنها راه برای درک واقعی نحوه عملکرد الگوریتمها و تسلط بر هنر برنامهنویسی است.»
- تخصص الگوریتم
توسط دانشگاه استنفورد از طریق Coursera.
و سومین دوره الگوریتم های رایگان شناخته شده از یک دانشگاه معتبر، این بار دانشگاه استنفورد. این دوره مقدمه ای بر الگوریتم ها برای زبان آموزان با حداقل تجربه برنامه نویسی است. یادگیرندگان از طریق چندین نوع ارزیابی، اصول الگوریتم ها را تمرین کرده و به آنها مسلط خواهند شد. هر هفته، یک آزمون چند گزینه ای برای آزمایش درک شما از مهمترین مفاهیم وجود دارد. همچنین تکالیف برنامه نویسی هفتگی وجود دارد که در آنها یکی از الگوریتم های تحت پوشش سخنرانی را به زبان برنامه نویسی مورد نظر خود پیاده سازی می کنید. هر دوره با یک امتحان نهایی چند گزینه ای به پایان می رسد.
کانال ها و لیست های پخش یوتیوب
- الگوریتم
های عبدالباری.
فهرستی از سخنرانیهای کوتاه درباره الگوریتمها توسط عبدالباری، یک یوتیوببر نسبتاً محبوب که موضوعات پیچیده را به سادهترین و آسانترین راهها برای بینندگانش توضیح میدهد.
- ساختار داده ها و الگوریتم ها در جاوا
در برنامه نویسی با کانال Mosh.
"برنامه نویسی با موش" یک کانال اصلی محبوب YouTube برای مبتدیان برنامه نویسی است. این برنامه آموزش های زیادی در مورد جاوا و سایر زبان های برنامه نویسی دارد، آنها به خوبی ساختار یافته و به خوبی ارائه شده اند، از جمله آموزش ساختار داده ها و الگوریتم ها. اگر تمایلی به خواندن کتاب و پرداخت هزینه برای دوره ها ندارید، یک راه خوب برای آشنایی با این موضوعات.
- MIT 6.006 مقدمه ای بر الگوریتم ها، پاییز 2011
توسط MIT OpenCourseWare
MIT OpenCourseWare کانالی از موسسه فناوری ماساچوست است و دورههای ویدیویی رایگان بسیار زیادی دارد، از جمله دورههای مربوط به الگوریتمها. کل دوره شامل 47 جلسه تقریبا یک ساعته است.
GO TO FULL VERSION