دوره آموزش الگوریتم‌نویسی در پایتون

الگوریتم چیست؟

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

 

آیا دوره آموزش الگوریتم‌نویسی در پایتون پیش‌نیاز دارد؟

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

 

در دوره آموزش الگوریتم‌نویسی در پایتون چه چیزی می‌آموزیم؟

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

 

چرا یادگیری الگوریتم مهم است؟

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

 

آیا همیشه وقت برای پیدا کردن بهترین الگوریتم داریم؟

متاسفانه خیر، در دنیای واقعی همیشه وقت برای بهینه کردن کدتان ندارید. اگر داخل یک تیم هستید و از شما درخواست شده که ویژگی جدیدی به برنامه اضافه کنید از این قاعده پیروی کنید: ابتدا سعی کنید که فقط ویژگی جدید را اضافه کنید، بدون اینکه نگران بهینه بودن کد خود باشید(اما مطمئن شوید که ویژگی حتما به درستی کار کند). بعد اگر وقت داشتید کدتان را بهینه کنید اما اگر وقت نداشتید همان کد اولیه را commit کنید.

 



0

intro

5:18

رایگان

1

complexity

9:4

رایگان

2

constant complexity

5:13

رایگان

3

log complexity

5:17

رایگان

4

linear complexity

3:49

رایگان

5

polynomial complexity

3:5

رایگان

6

exponential complexity

3:58

رایگان

7

limit

10:25

رایگان

8

top one

8:57

رایگان

9

caesar cipher

19:43

رایگان

10

search insert

9:41

رایگان

11

is isomorphic

10:23

رایگان

12

a1z26 cipher

6:35

رایگان

13

bead sort

8:56

رایگان

14

zig zag iterator

6:37

رایگان

15

move zeros

2:52

رایگان

16

remove min

4:56

رایگان

17

OneTimePad cipher

9:32

رایگان

18

two sum

5:7

رایگان

19

rotate

6:10

رایگان

20

search range

9:7

رایگان

21

linear search

4:34

رایگان

22

binary search

6:45

رایگان

23

first occurrence

4:6

رایگان

24

last occurrence

5:28

رایگان

25

done

1:42

رایگان

دوره های پیشنهادی

دوره آموزش GraphQL در پایتون
دوره آموزش GraphQL در پایتون
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش تست نویسی در پایتون
دوره آموزش تست نویسی در پایتون
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش الگوریتم‌نویسی در پایتون
دوره آموزش الگوریتم‌نویسی در پایتون
تکمیل ضبط
امیرحسین بیگدلو

ارسال نظر


Motahare

10 ماه قبل پاسخ به نظر

سلام وقتتون بخیر
من ریپازیتوری هایی که تو گیب هاب دارین از روش کار می کنید رو پیدا نکردم ممنون میشم لینکشو بفرستین یا راهنمایی کنید چجوری میتونم پیدا کنم.

ارسال نظر



امیرحسین بیگدلو

10 ماه قبل

سلام
این دوره مخزن گیتهاب نداره.

david mason

10 ماه قبل پاسخ به نظر

ای کاش موقعی که complexity های مختلف رو اجرا میکردید تایم الَپس ( تایم اجرای کد ) رو هم به دست میاوردید تا تفاوت تایم مشخص بشه

ارسال نظر



ali3250

11 ماه قبل پاسخ به نظر

سلام و عرض ادب
فقط خاستم ازت تشکر کنم استاده عزیز

تدریست مثه خودت عالیه

شاد باشی و تندرست

ارسال نظر



sajaddz

11 ماه قبل پاسخ به نظر

سلام وقتتون بخیر خسته نباشید و درود بابت آموزش فوق العاده قوی و کاربردی من تقریبا تمومی این الگوریتم ها رو دیدم ولی یه جا واقعا برام سوال شد در الگوریتم caesar cipher یه کلید از ما میخواد خب اگه کلید رو 29 بزنیم همون حرف انگلیسی رو وقتی میخواد encrypt کنه upercase میکنه یعنی مثلا amir میشه AMIR و این خب رمز نگاری شده نیست چه راه کاری برای این دارید؟

ارسال نظر



امیرحسین بیگدلو

11 ماه قبل

سلام
خب، کلید رو 29 نزن

amir

1 سال قبل پاسخ به نظر

سلام خسته نباشید یه سوال دارم
چرا وقتی پایتون خودش برای همه این ها ماژول داده اونوقت ما باید به این سختی مسله ها رو حل کنیم اینجوری هم وقت گرفته میشه هم کد بیشتری نیازه ممنون میشم جواب بدید؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

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

abdoki7788

1 سال قبل پاسخ به نظر

سلام استاد.
من معمولا وقتی کاری که میخواین بکنین رو میفهمیدم میرفتم خودم یه کد براش مینوشتم و بعد ویدیو شما رو نگاه میکردم و بعضی مواقع روش من با روش شما فرق داشت و بعضی مواقع کد کوتاه تر میشد . میخواستم بدونم حتما باید روش شما رو برای یادگیری پیش ببرم ؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
اینکه میتونی کدها رو تغییر بدی و فقط یادگیرنده نباشی خیلی خوبه، همینطور ادامه بده

محمدِ تقی

1 سال قبل پاسخ به نظر

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

ارسال نظر



Ali

1 سال قبل پاسخ به نظر

خسته نباشید ببخشید بعد این دوره چه دوره ای رو پیشنهاد میدید ببینیم؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
بعد این دوره تست نویسی در پایتون رو ببینید

امیر

1 سال قبل پاسخ به نظر

سلام اقای بیگ من دوره پایتون مقدماتی رو تموم کردم و توی نظرات دیدم که گفتید بیایم و این دوره رو ببینیم اما به خوبی نمیتونم متوجه بشم این مسائل پیشنهاد دیگه ای ندارید؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
توی این دوره مسائل خیلی ساده رو حل کردیم، سعی کن روی هر مسئله بیشتر وقت بزاری و قدم به قدم مسائل رو حل کنی.

سامان

1 سال قبل پاسخ به نظر

سلام مثلاً این الگوریتم ها رو چجوری میپرسند؟
به صورت حل مسیله میگن بنویسیم تو پایتون؟
یا باید توضیح بدیم روش کارکرد اون الگوریتمو؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
به هر شکلی ممکنه بپرسن. ممکنه تخته وایت‌برد بیارن یا قلم و کاغذ بهتون بدن که الگوریتم رو داخلشون بنویسید


محمد

1 سال قبل

سلام فرصت اینکه مثلاً یه سرچی بزنیم راجبه اون الگوریتم میدن ایا؟


امیرحسین بیگدلو

1 سال قبل

سلام
معلومه که نه. خودتون باید الگوریتم رو پیاده کنید


محمد

1 سال قبل

از همین الگوریتم‌هایی که تو این دوره تدریس کردید میپرسن معمولا؟


امیرحسین بیگدلو

1 سال قبل

خیر، معلوم نیست. شاید اینا رو بپرسن، شاید چیزای دیگه بپرسن

Md

1 سال قبل پاسخ به نظر

سلام،من هم ریپازیتوری گیت هاب این دوره رو ساختم:

https://github.com/Mdcappapc/Algorithms

ارسال نظر



mohammad

1 سال قبل پاسخ به نظر

به نظر من خیلی بهتر میشد اگه یه لینکی رو قرار میدادین که همه فایل ها بشه از اونجا یکجا دانلود کرد

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

دوستان این زحمت رو کشیدن:
https://github.com/dori-dev/python-algorithms

Alireza

1 سال قبل پاسخ به نظر

سلام امیر، خیلی خوشحال شدم که دانلود هایه سایتت باز کردی چون مشگل نت واقعا اذیت میکرد
اگه امکان دانلود همگانی هم بهش اضافه کنی خیلی بهتر میشه. مرسی بابت اموزش هایه خوبی که داری❤️

ارسال نظر



محمد دری

1 سال قبل پاسخ به نظر

سلام آقا امیر
باتوجه به اینکه گفتید برای این دوره سورسی نذاشتید
بنده کل کد ها رو نوشتم به علاوه استفاده از type hinting و رعات clean code و توی این ریپازیتوری گذاشتم
https://github.com/dori-dev/python-algorithms
میزارم که دوستان استفاده کنند

امیدوارم بدردتون بخوره

ارسال نظر



Jack

1 سال قبل پاسخ به نظر

سلام،چجوری میتونیم خودمون یه فانکشن برای هش کردند اطلاعات بنویسیم؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
توی همین دوره گفتم

محمد

1 سال قبل پاسخ به نظر

سلام من این دوره دیدم دید خیلی خوبی راجبه الگوریتم ها بهم داد فقط یه سوالی داشتم این بود منبع خوبی واسه اینکه در حل مسائل الگوریتم حرفه ای تر بشیم دارید؟

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
توی وبسایت hackerrank یه عالمه چالش هست که میتونید از اونها استفاده کنید

baran

1 سال قبل پاسخ به نظر

با تشکر از دوره خوبتون میشه لطفا دوره numpy , pandas رو بزارید.

ارسال نظر



learner

2 سال قبل پاسخ به نظر

سلام
عالیه، خدا قوت
در مورد ساختار داده ها در پایتون هم میشه ویدیو بسازید؟
linked list
hash table
و ...

ارسال نظر



سارا

2 سال قبل پاسخ به نظر

عالی هستید

ارسال نظر





مونگارد