نوروز مبارک

نوروز مبارک

🔥 جشنواره نوروزی آموزش با ۷۰٪ تخفیف ویژه! 🎉

با آغاز سال نو، فرصتی استثنایی برای یادگیری فراهم شده است! 🌸

✨ از ۲۶ اسفند تا ۶ فروردین تمامی دوره‌های آموزشی ما با ۷۰٪ تخفیف ویژه در دسترس شما هستند.

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

🚀 چرا نباید این فرصت را از دست داد؟
✅ دوره‌های متنوع و کاربردی
✅ تدریس توسط اساتید مجرب
✅ یادگیری در هر زمان و هر مکان

📌 همین حالا از این تخفیف فوق‌العاده بهره‌مند شوید! فرصت محدود است!

 

قیمت این دوره: رایگانــ
  • مدرس دوره : حمید رضا اثنی عشری
  • تعداد ویدیوها : 107 ویدیو
  • مدت زمان دوره : 12:14:00
  • سطح دوره : مقدماتی
  • وضعیت دوره : به اتمام رسیده
  • تاریخ آخرین بروزرسانی : 1400/04/23
ساختمان داده و الگوریتم- قسمت اول

ساختمان داده و الگوریتم- قسمت اول

  آقای ایلان ماسک میگن که ۲ قانون طلایی برای اینکه بتونیم زیاد یاد بگیریم و هیچ وقت چیزی از یادمون نره وجود داره:

   ۱- پایه ها و اساس رو خیلی خوب یاد بگیریم. چون موارد بعدی روی این ها سوار میشه و اگر پایه های یک میز بلغزه دیگه نمیتونیم به راحتی روش چیزی بزاریم. همش ترس این رو داریم که یه بار نیفته!

 ۲- دوم اینکه چیزایی که یاد میگیریم رو با چیزایی که از قبل بلد هستیم به اصطلاح link یا وصل کنیم. اینطوری مطلب جدید به حافظه ی بلندمدت میره و خیلی خیلی بعید هست که بخواد یادمون بره. 

 

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

زیاد هستن متاسفانه افرادی که در سطح متخصص فعالیت میکنن ولی همچنان روی اصول پایه مشکل دارن.  پس:

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

    و اینکه الگوریتم های مربوط  و متناسب با مساله ای که میخوایم حل کنیم چی هست و چطوری باید کدنویسی بشه.

 

دوستانی که با پس زمینه مهندسی و کامپیوتر هستن از دانشگاه این بخش روی  در قسمت ساختمان داده پاس میکنن ولی من نظر شخصیم اینه که زیاد به دانشگاه اعتقادی ندارم😃

 

در ضمن تفاوت این دوره با دوره های دیگه این هست که در هر بخش سوالات مهم و پرتکرار مصاحبه های شرکت مهم دنیا مثل گوگل - اپل - فیسبوک - آمازون و ... رو باهم بررسی میکنیم و کامل براتون اون رو توضیح میدم که قشنگ متوجه بشید و یک سری تمرین هم داریم.🌹




فهرستـــ ویدیوها

مدت زمان دوره 12:14:00
00:00
00:00
  • با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.

1
  • معرفی دوره

00:09:12

معرفی دوره

2
  • نماد اُ بزرگ (Big O Notation)

00:06:47

نماد اُ بزرگ چیست؟

3
  • O(1) - Constant Big O

00:05:26

Big O ثابت

4
  • O(n)- Linearly

00:08:05

Big O خطی

5
  • Quadratic Big O(n^2)

00:07:14

Big O درجه دوم

6
  • Big O(log n) - Logarithmic

00:04:56

Big O لگاریتمی

7
  • Big O(2^n) - Exponential

00:03:49

Big O نمایی

8
  • Space Complexity

00:06:03

پیچیدگی فضایی

9
  • Understanding Arrays

00:07:44

قسمت اول از بخش آرایه ها- آرایه چیست؟

10
  • Working with Arrays

00:07:07

کار با آرایه ها در جاوا

11
  • Exercise- Array Class

00:06:48

تمرین- ساخت کلاس آرایه به صورت دستی

12
  • Solution- Insert Method

00:11:22

پیاده سازی متد Insert تمرین

13
  • Solution- removeAt Method

00:15:20

پیاده سازی متد removeAt

14
  • Solution- indexOf Method

00:11:17

پیاده سازی متد indexOf

15
  • Dynamic Arrays

00:10:51

آرایه های پویا با سایز متغیر

16
  • First Complementary Exercise

00:03:31

تمرین مکمل پایان فصل

17
  • تمرین سوم و چهارم پایان فصل

00:05:22

علاوه بر تمرین ساخت کلاس آرایه از صفر این ۴ تا تمرین هم باهم حل میکنیم😎

18
  • حل اولین تمرین مکمل فصل

00:10:47

حل اولین تمرین از ۴ تمرین مکمل پایان فصل 🌹😉

19
  • حل دومین تمرین مکمل فصل

00:14:37

حل دومین تمرین مکمل فصل و چندتا ابهام زدایی مهم و بهینه کردن متد insert

20
  • حل سومین تمرین مکمل فصل

00:11:34

حل سومین تمرین مکمل پایان فصل به همراه چند نکته کلیدی و یادآوری😎🌹

21
  • حل چهارمین تمرین مکمل فصل

00:20:00

حل چهارمین تمرین مکمل فصل به همراه چندین نکات کلیدی و یادآوری مهم😎

22
  • مرور این فصل- آرایه ها

00:03:53

مرور کلی این بخش - آرایه ها

23
  • فصل جدید- لیست های پیوندی

00:14:09

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

24
  • لیست های پیوندی در جاوا

00:11:47

کار با لیست های پیوندی در زبان جاوا و بررسی متدهای مهم آن

25
  • تمرین- ساخت کلاس لیست پیوندی

00:03:42

تمرین- ساخت کلاس لیست پیوندی در زبان جاوا از صفر . با متد های مربوطه

26
  • راه حل- متد addLast

00:16:47

پیاده سازی متد addLast() و توضیح چندین مبحث و نکته کاربردی- اصطلاحا best practices ها رو گفتیم🌹😎

27
  • راه حل- متد addFirst

00:03:22

پیاده سازی متد addFirst() و بهبود کد قبلی و جاری با یک تکنیک 😎

28
  • راه حل- متد indexOf

00:06:43

پیاده سازی متد indeOf() و توضیح یک نکته جدید

29
  • راه حل- متد contains()

00:02:22

پیاده سازی متد contains به روش خیلی ساده😎🌹

30
  • راه حل- متد removeFirst

00:07:37

پیاده سازی متد removeFirst و چندین نکته کاربردی دیگه که خیلی خیلی مهم هستن🌹

31
  • راه حل- متد removeLast

00:10:10

پیاده سازی متد removeLast که یه خورده tricky هست . پس نکات ریزشو باهم حل میکنیم.

32
  • راه حل- متد size

00:04:43

پیاده سازی متد size به صورت خیلی زیبا😎 - به جای O(n) ما به صورت بیگ اُ ثابت پیاده سازیش میکنیم. یعنی O(1)

33
  • راه حل- تبدیل لیست پیوندی به آرایه

00:04:32

تبدیل لیست پیوندی به آرایه معمولی 🌹😎 با پیاده سازی خیلی روان و ساده

34
  • مقایسه کامل لیست پیوندی و آرایه

00:09:34

مقایسه کامل لیست پیوندی و آرایه و بررسی پیچیدگی زمانی و فضایی این دو ساختمان داده و بیان چندین نکته کاربری🌹😎

35
  • لیست پیوندی یکطرفه و دوطرفه

00:05:05

و کلی نکات جدید و مرور چیزهای قدیمی🌹😎

36
  • تمرین- معکوس کردن لیست پیوندی

00:02:13

تمرین 😎

37
  • راه حل- معکوس کردن لیست پیوندی

00:18:52

راه حل معکوس کردن لیست پیوندی به همراه چندین نکات کاربردی برنامه نویسی و کدزنی تمیز یا همان Clean Code

38
  • تمرین- پیداکردن kامین گره از آخر

00:07:35

یه تمرین خیلی باحال و پررررو😎🌹😂

39
  • راه حل- پیداکردن kاُمین گره از آخر لیست پیوندی

00:11:34

راه حل خیلی جذاب و کوتاه و مفهومی 🌹😎

40
  • تمرین- پیداکردن گره وسط لیست پیوندی

00:03:15

تمرین

41
  • تمرین- بررسی وجود دور در لیست پیوندی

00:06:23

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

42
  • راه حل- پیداکردن گره وسط در لیست پیوندی

00:11:34

یه راه حل جذاب که با همه راه حل های دیگه فرق داره و پر از نکته که همه رو از صفر بهتون گفتم🌹😎

43
  • راه حل- بررسی وجود دور در لیست پیوندی

00:15:20

یه توضیح خیلی مفهومی ولی آسون از روی عکس و تفسیر کدها.🌹🌹😎

44
  • پایان فصل- مرور

00:02:46

مرور فصل 🌹

45
  • کدهای فصل- لیست پیوندی

00:06:18

کدها و توضیحات مربوطه خدمت شما دوستان عزیزم🌹🌹🌹

46
  • فصل جدید- پشته (Stack)

00:02:02

معرفی سرفصل ها

47
  • Stack یا پشته چیست؟

00:08:24

🌹

48
  • کار با استک در جاوا

00:04:16

کار با کلاس ‌Stack در زبان جاوا

49
  • تمرین- معکوس کردن رشته

00:02:00

یه تمرین کاربردی و خیلی خفن که از رایج ترین سوالات استخدامی های شرکت های بزرگ هست مثل گوگل و فیسبوک🌹😎

50
  • راه حل- معکوس کردن رشته توسط Stack

00:16:00

🌹😎

51
  • تمرین- شبیه سازی کامپایلر زبان برنامه نویسی

00:06:25

🌹😎

52
  • راه حل- شبیه سازی کامپایلر قسمت اول

00:06:00

🌹😎

53
  • راه حل- قسمت دوم- پشتیبانی از تمام Bracket ها

00:04:32

🌹😎

54
  • راه حل- قسمت سوم- اولین Refactoring

00:04:36

🌹😎

55
  • راه حل- قسمت چهارم- دومین Refactoring

00:06:39

🌹😎

56
  • تمرین- پیاده سازی دو استک داخل یک آرایه

00:01:34

🌹😎

57
  • تمرین- دریافت کمترین مقدار استک با O(k)

00:01:34

🌹😎

58
  • راه حل- پیاده سازی دو استک داخل یک آرایه

00:11:44

🌹😎

59
  • راه حل- پیاده سازی کمترین مقدار استک با O(k)

00:06:47

🌹😎

60
  • خلاصه فصل + کدها

00:03:32

🌹😎

61
  • فصل جدید- معرفی ساختمان داده صف

00:01:34

🌹😎

62
  • صف یا Queue چی هست؟

00:03:37

😎🌹

63
  • پیاده سازی های مختلف صف در جاوا

00:11:44

🌹😎

64
  • تمرین- معکوس کردن ساختمان داده صف

00:02:04

🌹😎

65
  • راه حل- معکوس کردن ساختمان داده صف

00:03:00

😎🌹

66
  • تمرین- ساخت صف توسط آرایه

00:03:37

🌹😎

67
  • راه حل- پیاده سازی صف توسط آرایه

00:11:22

🌹😎

68
  • بهبود راه حل- استفاده از آرایه های حلقوی

00:11:34

🌹😎

69
  • تمرین- پیاده سازی ساختمان داده صف توسط استک

00:02:47

🌹😎

70
  • راه حل- پیاده سازی ساختمان داده صف توسط استک

00:12:17

🌹😎

71
  • Priority Queues چیست ؟

00:03:51

😎🌹

72
  • تمرین- ساخت صف بر اساس اولویت از صفر

00:03:43

😎🌹

73
  • تمرین-پیاده سازی استک توسط دو صف

00:01:28

😎🌹

74
  • راه حل- پیاده سازی ساختمان داده صف اولویت دار

00:15:38

🌹😎

75
  • راه حل- Refactoring Solution

00:05:05

🌹😎

76
  • تمرین آخر فصل- معکوس کردن ترتیب K عنصر اول صف

00:02:57

🌹😎

77
  • تمرین آخرفصل- پیاده سازی ساختمان داده صف توسط لیست پیوندی

00:01:11

🌹😎

78
  • خلاصه فصل

00:02:35

🌹😎

79
  • راه حل- معکوس کردن ترتیب K عنصر اول صف

00:06:32

🌹😎

80
  • راه حل- پیاده سازی استک توسط دو صف

00:06:48

🌹😎

81
  • فصل جدید- Hash Table چیست ؟

00:06:38

🌹😎

82
  • کار با Hash Table در جاوا

00:08:51

🌹😎

83
  • تمرین- پیداکردن اولین حرف تکرارنشده در رشته

00:01:30

😎🌹

84
  • راه حل- پیداکردن اولین کارکتر تکرارنشده در رشته

00:09:51

😎🌹

85
  • مجموعه ها یا Sets در جاوا

00:04:55

🌹😎

86
  • تمرین- پیداکردن اولین کارکتر تکرارشده در رشته

00:01:55

🌹😎

87
  • راه حل-پیداکردن اولین کارکتر تکرارشده در رشته

00:05:44

🌹😎

88
  • نگاهی عمیق و تخصصی به Hash Functions

00:14:22

🌹😎

89
  • تصادم یا Collision چیست؟

00:03:55

🌹😎

90
  • بررسی استراتژی Chaining

00:02:32

😎🌹

91
  • بررسی الگوریتم Linear Probing در Open Addressing

00:06:27

🌹😎

92
  • بررسی الگوریتم Quadratic Probing در Open Addressing

00:04:25

🌹😎

93
  • بررسی الگوریتم Double Hashing در Open Addressin

00:07:15

🌹😎

94
  • تمرین-ساخت Hash Table از صفر

00:05:05

🌹😎

95
  • راه حل- پیاده سازی متد puta

00:10:42

🌹😎

96
  • راه حل- پیاده سازی متد get

00:06:10

🌹😎

97
  • راه حل- پیاده سازی متد remove

00:03:50

🌹😎

98
  • بهبود جامع و تخصصی راه حل

00:19:05

🌹😎

99
  • تمرین آخرفصل- پیداکردن پر تکرارترین عضو آرایه

00:01:05

🌹😎

100
  • تمرین آخرفصل- کلید-مقدار هایی با اختلاف k از هم

00:01:36

🌹😎

101
  • تمرین آخرفصل- جمع دو مقدار با هدف k

00:01:26

🌹😎

102
  • تمرین آخرفصل- ساخت Hash Map از صفر با استراتژی جدید

00:00:48

🌹😎

103
  • راه حل- پیداکردن پر تکرارترین عضو آرایه

00:05:17

🌹

104
  • راه حل- جمع دو مقدار با هدف k

00:06:30

😎🌹

105
  • راه حل- جمع دو مقدار با هدف k

00:06:05

😎 سلام. بچه ها قسمت قبل هم اشتباها با همین نام منتشر شده. من عذرخواهی میکنم ازتون. قسمت قبل حل تمرین کلید-مقدار هایی با اختلاف k از هم هست.

106
  • راه حل- ساخت Hash Map از صفر با استراتژی جدید

00:05:32

🌹😎

107
  • خلاصه کل فصل- اتمام دوره و شروع دوره جدید

00:05:25

🌹🌹🌹🌹🌹🌹🌹🌹مرسی از همراهی خوبتون. مثل همیشه منتظر حضورتون تو دوره دوم یعنی " ساختمان داده و الگوریتم- قسمت دوم " هستم. مرسی که با نظرات خوبتون و مشارکتتون من رو دلداری و همراهی میکنید. بریم که دوره دوم رو توپ تر و پرانرژی تر از دوره اول برگزار کنیم.😎😎😎


نظرات کاربران در رابطه با این دوره

لطفا سوالات خود را راجع به این آموزش در این بخش پرسش و پاسخ مطرح کنید به سوالات در قسمت نظرات پاسخ داده نخواهد شد و آن نظر حذف میشود.
جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .

fmm7036

ارسال شده در 1402/10/11

سلام خسته نباشید استاد.

این دوه مقدماتی تا پیشرفته الگوریتم هست یا فقط مقدماتی؟

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

mohammadrezafard

ارسال شده در 1401/06/13

سلام 

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

تشکر

آریا شیری

ارسال شده در 1401/02/31

درود استاد ،‌ اگر امکانش هست پارت دو این دوره رو در سایت آپلود کنید:)❤️

pedram__n

ارسال شده در 1401/01/23

سلام استاد . منتظر بخش 2 این دوره هستیم 

MohammadBijanipiran

ارسال شده در 1400/12/15

با عرض سلام 

دوره دوم کی در سایت قرار میگیره؟

Mehran Farzad Moghadam

Mehran Farzad Moghadam

ارسال شده در 1400/11/19

سلام

بسیار عالی و تشکر از شما.

yeganehkhalili

ارسال شده در 1400/10/21

سلام وقتتون بخیر و ممنون ازتون بابت اینکه این دوره رو رایگان در اختیار گذاشتین. سوالی که داشتم با توجه به این که این آموزش با جاوا هست، کسی که میخواد پایتون کار کنه براش مناسبه این دوره؟ 

حمید رضا اثنی عشری (مدرس)

ارسال شده در 1400/10/21

سلام وقت شما ب خیر. ممنون از نظری که بیان کردید

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

شما با هر زبانی کار کنید این ها رو باید یاد بگیرید