قیمت این دوره: رایگانــ
  • مدرس دوره : حمید رضا اثنی عشری
  • تعداد دانشجویان این دوره : 1,445 نفر
  • تعداد ویدیوها : 102 ویدیو
  • مدت زمان دوره : 11:45:00
  • سطح دوره : مقدماتی
  • وضعیت دوره : در حال برگزاری
  • تاریخ آخرین بروزرسانی : 1400/04/02
ساختمان داده و الگوریتم- قسمت اول

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

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

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

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

 

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

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

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

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

 

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

 

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



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

مدت زمان دوره 11:45:00
  • در صورتیکه ویدئو نمایش داده نشد آن را دانلود کنید و با KmPlayer مشاهده کنید.

  • لطفا در صورت اقدام به دانلود تا انتها فرایند دانلود ، این صفحه را باز نگاه دارید.

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
  • رایگانــ

🌹😎

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

جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .