آموزش ساختارهای داده استاد در پایتون: برنامه نویس بهتری شوید

Master Data Structures in Python: Become a Better Programmer

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: DS توضیح داده شده با انیمیشن | چالش های Leetcode با راه حل های ویدئویی | Big O Notation درک پیچیدگی های زمان و مکان و نحوه محاسبه آنها درک علوم کامپیوتر و نحوه کار آنها پیاده سازی ساختارهای داده علوم کامپیوتر از ابتدا استفاده از ساختارهای داده داخلی در پایتون پیش نیازها:دانش پایه پایتون

به Master Structures Data Structures در Python خوش آمدید: کد کارآمد بنویسید! دوره!


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


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


در طول این دوره، همه چیزهایی که برای تسلط بر ساختارهای داده نیاز دارید را پوشش خواهیم داد، از جمله:

  • نماد O بزرگ (پیچیدگی زمان پیچیدگی فضایی)

  • لیست های پیوندی

  • پشته ها

  • انبوه

  • صف ها

  • جداول درهم

  • درختان

  • درختان جستجوی دودویی

  • نمودارها (ماتریس مجاورت فهرست مجاورت)


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


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


من مطمئن هستم که این دوره را دوست خواهید داشت و پس از اتمام آن یک برنامه نویس متفاوت خواهید بود، در این دوره به من بپیوندید و بر ساختار داده ها و الگوریتم ها مسلط شوید! :)


سرفصل ها و درس ها

معرفی Introduction

  • چرا باید ساختارهای داده را یاد بگیرید Why You Should Learn Data Structures

نماد O بزرگ Big O Notation

  • مقدمه ای بر Big O Notation Introduction to Big O Notation

  • پیچیدگی خطی - O(n) Linear Complexity - O(n)

  • پیچیدگی ثابت - O(1) Constant Complexity - O(1)

  • پیچیدگی درجه دوم - O(n^2) Quadratic Complexity - O(n^2)

  • پیچیدگی لگاریتمی - O(logn) Logarithmic Complexity - O(logn)

  • ثابت ها در Big O Constants in Big O

  • عوامل غالب و غیر غالب در Big O Dominant and Non-Dominant Factors in Big O

  • مقایسه پیچیدگی ها Complexities Comparison

  • نماد O بزرگ Big O Notation

لیست های پیوندی Linked Lists

  • نماد بزرگ O: محاسبه پیچیدگی‌های زمان و فضا Big O Notation: Time & Space Complixities Calculation

  • مقدمه ای بر لیست های پیوندی Introduction to Linked Lists

  • پیاده سازی لیست پیوندی Linked List Implementation

  • لیست های پیوندی: افزودن عناصر Linked Lists: Adding Elements

  • لیست های پیوندی: ضمیمه پیاده سازی Linked Lists: Append Implementation

  • لیست های پیوندی: از قبل پیاده سازی Linked Lists: Prepend Implementation

  • لیست های پیوندی: تکرار شونده Linked Lists: Iterating

  • لیست های پیوندی: پیاده سازی تکراری Linked Lists: Iterating Implementation

  • لیست های پیوندی: حذف عناصر Linked Lists: Removing Elements

  • لیست های پیوندی: حذف عناصر پیاده سازی Linked Lists: Removing Elements Implementation

  • پیچیدگی زمانی عملیات لیست های پیوندی Time Complexity of Linked Lists Operations

  • زمان استفاده از لیست های پیوندی When to Use Linked Lists

  • چالش Leetcode - وسط لیست پیوند شده Leetcode Challenge - Middle of the Linked List

  • لیست های پیوندی Linked Lists

  • لیست های پیوندی Linked Lists

لیست های پیوندی: لیست های داخلی پایتون Linked Lists: Python Built-In Lists

  • مقدمه ای بر لیست های داخلی پایتون Introduction to Python Built-In Lists

  • ایجاد لیست ها Creating Lists

  • لیست های تکراری Iterating Lists

  • ضمیمه Append

  • توسعه دادن، گسترش Extend

  • درج کنید Insert

  • برداشتن Remove

  • ترکیدن Pop

  • پاک کردن Clear

  • شمردن Count

  • معکوس Reverse

  • لیست های داخلی پایتون Python Built-In Lists

پشته ها Stacks

  • مقدمه ای بر پشته ها Introduction to Stacks

  • پیاده سازی پشته: کلاس های پشته و گره Stack Implementation: Stack and Node Classes

  • اجرای پشته: فشار Stack Implementation: Push

  • اجرای پشته: Pop & isEmpty Stack Implementation: Pop & isEmpty

  • لیست داخلی پایتون به عنوان پشته Python Built-In List as Stack

  • چالش Leetcode - پرانتز معتبر Leetcode Challenge - Valid Parentheses

  • پشته ها Stacks

  • پشته ها Stacks

صف ها Queues

  • مقدمه ای بر صف ها Introduction to Queues

  • اجرای صف: کلاس های صف و گره Queue Implementation: Queue and Node Classes

  • اجرای صف: خالی است Queue Implementation: isEmpty

  • اجرای صف: در صف Queue Implementation: Enqueue

  • Queue Imeplementation: Dequeue Queue Imeplementation: Dequeue

  • چالش Leet Code - اجرای صف با استفاده از دو پشته Leet Code Challenge - Implement Queue Using Two Stacks

  • صف ها Queues

  • صف ها Queues

درختان Trees

  • آشنایی با درختان Introduction to Trees

  • درختان باینری Binary Trees

  • درختان باینری کامل Complete Binary Trees

  • درختان جستجوی دودویی Binary Search Trees

  • درختان جستجوی دودویی: عملیات درج Binary Search Trees: Insert Operation

  • درختان جستجوی دودویی: پیاده سازی کلاس Binary Search Trees: Class Implementation

  • درختان جستجوی دودویی: اجرای عملیات درج Binary Search Trees: Insert Operation Implementation

  • درختان جستجوی دودویی: اجرای عملیات جستجو Binary Search Trees: Search Operation Implementation

  • درختان Trees

  • درختان Trees

انبوه Heaps

  • مقدمه ای بر Heaps Introduction to Heaps

  • پشته ها: درج کنید Heaps: Insert

  • پشته ها: پاپ Heaps: Pop

  • پیاده سازی هیپ Heap Implementation

  • اجرای Heap: Insert & Heapify Up Heap Implementation: Insert & Heapify Up

  • اجرای هیپ: پاپ Heap Implementation: Pop

  • اجرای Heap: Heapify Down Heap Implementation: Heapify Down

  • استفاده از heapq به عنوان حداقل Heap در پایتون Using heapq as Minimum Heap in Python

  • پیچیدگی های زمانی عملیات هیپ Heap Operations Time Complexities

  • چالش Leetcode - Kth بزرگترین عنصر در یک جریان Leetcode Challenge - Kth Largest Element in a Stream

  • انبوه Heaps

  • انبوه Heaps

جداول هش Hash Tables

  • مقدمه ای بر جداول هش Introduction to Hash Tables

  • استفاده از دیکشنری ها به عنوان جداول هش در پایتون Using Dictionaries as Hash Tables in Python

  • پیچیدگی های زمان و مکان جداول هش Hash Tables Time & Space Complexities

  • چالش Leetcode - 2 Sum Leetcode Challenge - 2 Sum

  • جداول هش Hash Tables

  • جداول هش Hash Tables

نمودارها Graphs

  • مقدمه ای بر نمودارها Introduction to Graphs

  • نمودارها: ماتریس مجاورت Graphs: Adjacency Matrix

  • نمودارها: فهرست مجاورت Graphs: Adjacency List

  • پیاده سازی گراف: کلاس و سازنده Graph Implementation: Class & Constructor

  • پیاده سازی گراف: اضافه کردن گره Graph Implementation: Add Node

  • پیاده سازی نمودار: اضافه کردن لبه Graph Implementation: Add Edge

  • پیاده سازی نمودار: Edge را حذف کنید Graph Implementation: Remove Edge

  • پیاده سازی گراف: حذف گره Graph Implementation: Remove Node

  • پیاده سازی نمودار: نمایش Graph Implementation: Display

  • پیچیدگی های زمان و مکان نمودار Graph Time & Space Complexities

  • نمودارها Graphs

  • نمودارها Graphs

نتیجه Conclusion

  • نتیجه گیری و مراحل بعدی Conclusion and Next Steps

نمایش نظرات

آموزش ساختارهای داده استاد در پایتون: برنامه نویس بهتری شوید
جزییات دوره
3 hours
77
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,266
4.3 از 5
دارد
دارد
دارد
Ahmed Elsakka
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ahmed Elsakka Ahmed Elsakka

مهندس نرم افزار در آمازون