آموزش ساختارهای داده و الگوریتم‌های پایتون: راهنمای جامع - آخرین آپدیت

دانلود Python Data Structures and Algorithms: Complete Guide

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: الگوریتم‌ها، عملکرد و پیاده‌سازی ساختارهای داده مهم را درک کنید و از تکنیک‌های پیشرفته پایتون بهره ببرید. مهارت‌های حل مسئله و عیب‌یابی (Debugging) ضروری برای مصاحبه‌های برنامه‌نویسی را توسعه دهید. تفکر الگوریتمیک را در وظایف دنیای واقعی به کار بگیرید و کدهای پایتون بهینه و خوانا بنویسید. اعتماد به نفس خود را در برنامه‌نویسی داده‌محور و آمادگی برای مصاحبه‌های فنی تقویت کنید. ساختارهای داده اصلی مانند آرایه‌ها، پشته‌ها، صف‌ها و لیست‌های پیوندی را از پایه در پایتون پیاده‌سازی کنید. کارایی الگوریتم‌ها را درک کرده و عملکرد کد را با استفاده از نماد Big-O تحلیل کنید. الگوریتم‌های مرتب‌سازی و جستجو از جمله Merge، Quick و Binary Search را ساخته و مقایسه کنید. درخت‌ها، هیپ‌ها (Heaps)، جداول هش و سایر ساختارهای داده پیشرفته را طراحی و پیاده‌سازی کنید. از ابزارهای داخلی پایتون مانند heapq، deque و sorted() به طور موثر استفاده کنید. پیشنیازها: دانش پایه از سینتکس پایتون و مفاهیم برنامه‌نویسی مورد نیاز است. تکمیل دوره Masterclass برنامه‌نویسی پایتون (یا تجربه معادل) توصیه می‌شود. یک کامپیوتر با پایتون 3 نصب شده و یک ویرایشگر کد مانند PyCharm، VS Code یا IntelliJ IDEA. هیچ تجربه قبلی در زمینه ساختارهای داده یا الگوریتم‌ها مورد نیاز نیست؛ همه چیز از اصول اولیه آموزش داده می‌شود.

پایه‌هایی را که قدرت پایتون در دنیای واقعی را می‌سازند، استاد شوید.

روتین‌های مرتب‌سازی را بنویسید و ساختارهای داده مهم را از صفر بسازید، سپس روش پایتونیک (Pythonic) برای استفاده عملی از آن‌ها را کشف کنید. برای تایید کد خود، تست‌های واحد (Unit Tests) بنویسید و بر متدهای خاص "dunder" در پایتون مسلط شوید.

چرا این دوره؟

اگر قبلاً زبان پایتون را آموخته‌اید (به عنوان مثال از طریق دوره Masterclass تیم بوچالکا با امتیاز 4.6/5 از بیش از 100,000 نظر)، این دوره ساختارهای داده و الگوریتم‌های پایتون، گام منطقی بعدی شماست. این دوره شما را از مرحله «می‌توانم پایتون بنویسم»به مرحله «می‌توانم پایتون بهینه طراحی کنم»می‌رساند، با استفاده از ساختارها و الگوریتم‌هایی که کارفرمایان انتظار دارند.

شما با تیم بوچالکا (Tim Buchalka)و جی‌پی رابرتز (JP Roberts)، هر دو مدرس بسیار با تجربه، یاد خواهید گرفت. تیم یک مدرس شریک در یودمی با بیش از 1.7 میلیون دانشجوو بیش از 460,000 نظردر دوره‌هایش است. جی‌پی بینش‌های صنعتی خود را به عنوان مدرس همکار به ارمغان می‌آورد تا تجربه‌ای عملی، قدرتمند و جذاب را تضمین کند.

چه چیزی این دوره را متفاوت می‌کند؟

  • ابتدا ساخت، سپس پایتونیک شدن.هر موضوع از یک الگوی واضح پیروی می‌کند: تئوری، کدنویسی توسط شما، و سپس ابزارهای داخلی پایتون مانند sorted()، heapq، deque و queue.

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

  • پایتون به‌روز.این دوره بهبودهای مدرن در CPython، از جمله Powersort در Python 3.11 برای list.sort() را با مقایسه با روش‌های قدیمی پوشش می‌دهد.

نظرات زبان‌آموزان درباره تدریس تیم و جی‌پی:

نکته: این نقل قول‌ها بازتاب تجربه دانشجویان از دوره Masterclass پایتون است.

“سرعتش نه کند است و نه تند، دقیقاً مناسب کسانی است که برنامه‌نویسی بلدند... تا اینجا مدرس فوق‌العاده‌ای بود.”–لیندا

“توضیحات عالی و جامع. بسیار کامل. متشکرم!”–آنتونی

“به طرز استثنایی خوب... واقعاً عالی انجام شده!!!”–راکشان

آیا این دوره برای شماست؟

  • بله:اگر پایتون مقدماتی بلد هستید و می‌خواهید مانند یک مهندس نرم‌افزار فکر کنید—ساختار درست را انتخاب کنید، درباره عملکرد استدلال کنید و کدی تمیز و صحیح بنویسید.

  • بله:اگر برای مصاحبه‌های کدنویسی آماده می‌شوید یا به دنبال الگوهای کارآمد و عملی برای پروژه‌های واقعی هستید.

  • خیر:اگر کاملاً در پایتون تازه‌کار هستید. ابتدا با دوره Masterclass شروع کنید و سپس به اینجا بازگردید.

آنچه خواهید آموخت

  • مبانی و Big-O:ساختارهای داده و الگوریتم‌ها چیستند، پیچیدگی زمانی و مکانی و سبک-سنگین کردن‌ها (trade-offs).

  • آرایه‌ها و لیست‌ها:مدل حافظه، تغییر اندازه، برش (slicing)، تکرار و متدهای dunder برای توالی‌های پایتونیک.

  • لیست‌های پیوندی:لیست‌های پیوندی یک‌طرفه/دو‌طرفه، درج/حذف، معکوس کردن، پیمایش، ایندکس‌گذاری و برش.

  • پشته‌ها، صف‌ها، دک‌ها (deques):پیاده‌سازی‌های دستی، به علاوه deque و queue در پایتون.

  • جداول هش و مجموعه‌ها:آدرس‌دهی باز (Open addressing)، زنجیره‌ای کردن (chaining)، dict و set و مجموعه‌های تخصصی.

  • درخت‌ها:درخت‌های جستجوی دودویی (درج/جستجو/حذف)، استراتژی‌های پیمایش و پیاده‌سازی کامل درخت قرمز-سیاه.

  • هیپ‌ها و صف‌های اولویت‌دار:ساخت هیپ‌ها، مرتب‌سازی هیپ (Heapsort) و heapq در پایتون.

  • جستجو:جستجوی خطی در مقابل جستجوی دودویی (تکرار شونده و بازگشتی).

  • مرتب‌سازی:حباب (Bubble)، انتخابی (Selection)، درج (Insertion)، ادغامی (Merge)، سریع (Quick)، شمارشی (Counting)، رادیکس (Radix) و Powersort در پایتون.

  • تست و صحت:نوشتن تست‌های واحد جامع با unittest، با الهام از سبک تست CPython.

  • کلاس‌های پایه انتزاعی و پروتکل‌ها:استفاده از هر دو و درک تفاوت‌های بین آن‌ها.

  • بازگشت (Recursion):چه زمانی از آن استفاده کنیم و مهم‌تر از آن، چه زمانی مناسب نیست.

تجربه یادگیری شما

  • ویدیوهای کدنویسی همزمانکه شما را از مفاهیم پایه به ساختارهای پیشرفته می‌برد.

  • چالش‌ها و راهکارهاتا بتوانید درک خود را تثبیت کنید.

  • الگوهای عملیاتیکه مستقیماً با کتابخانه استاندارد پایتون مطابقت دارند و برای محیط‌های کاری آماده‌اند.

سوالات متداول (FAQ)

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

آیا دوره مرتب‌سازی مدرن CPython را پوشش می‌دهد؟
بله، کاملاً به‌روز است.این دوره بهبودهای مدرن در CPython، از جمله عبارت‌های انتصابی (Walrus operator) و Powersort را پوشش می‌دهد.

آیا سیاست بازگشت وجه وجود دارد؟
بله. یودمی برای دوره‌های واجد شرایط، بازه ۳۰ روزه بازگشت وجه ارائه می‌دهد.

همین حالا ثبت‌نام کنید

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


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

مقدمه‌ای بر دوره Introduction to the course

  • مقدمه و پیش‌نیازها Introduction and prerequisites

  • معرفی دوره Introduction to the course

  • مقدمه‌ای بر ساختارهای داده Introduction to Data Structures

  • مقدمه‌ای بر الگوریتم‌ها Introduction to Algorithms

آرایه‌ها و نماد Big O Arrays and Big-O Notation

  • مقدمه‌ای بر آرایه‌ها Introduction to arrays

  • نماد Big O Big-O Notation

  • مرور سریع آرایه‌ها در پایتون A quick review of arrays in Python

  • آرایه‌ها در حافظه Arrays in memory

  • مقادیر Big O برای عملیات آرایه Big-O values for array operations

الگوریتم‌های مرتب‌سازی Sort Algorithms

  • مقدمه‌ای بر الگوریتم‌های مرتب‌سازی Introduction to sort algorithms

  • مرتب‌سازی حبابی (تئوری) Bubble Sort (theory)

  • مرتب‌سازی حبابی (پیاده‌سازی) Bubble Sort (implementation)

  • تست واحد و ماژول unittest پایتون Unit testing and the Python unittest module

  • مرتب‌سازی حبابی (تست) Bubble Sort (testing)

  • یک مجموعه تست جامع‌تر A more comprehensive test suite

  • بهینه‌سازی مرتب‌سازی حبابی A Bubble Sort optimization

  • الگوریتم‌های مرتب‌سازی پایدار در مقابل ناپایدار Stable vs Unstable sort algorithms

  • مرتب‌سازی انتخابی (تئوری) Selection Sort (theory)

  • مرتب‌سازی انتخابی (پیاده‌سازی) Selection Sort (implementation)

  • مرتب‌سازی انتخابی (تست) Selection Sort (testing)

  • مرتب‌سازی درج (تئوری) Insertion Sort (theory)

  • مرتب‌سازی درج (پیاده‌سازی) Insertion Sort (implementation)

  • مرتب‌سازی درج (تست) Insertion Sort (testing)

  • مرتب‌سازی درج (پیاده‌سازی جایگزین) Insertion Sort (alternative implementation)

  • مرتب‌سازی شل (تئوری) Shell Sort (theory)

  • مرتب‌سازی شل (پیاده‌سازی) Shell Sort (implementation)

  • بازگشت (Recursion) Recursion

  • بررسی گام‌به‌گام بازگشت Recursion walkthrough

  • مرتب‌سازی ادغامی (تئوری - مرحله تقسیم) Merge Sort (theory - splitting phase)

  • مرتب‌سازی ادغامی (تئوری - مرحله ادغام) Merge Sort (theory - merging phase)

  • مرتب‌سازی ادغامی (پیاده‌سازی) Merge Sort (implementation)

  • مرتب‌سازی ادغامی (ادغام) Merge Sort (merging)

  • مرتب‌سازی ادغامی (تکمیل ادغام) Merge Sort (completing the merge)

  • مرتب‌سازی ادغامی (تشخیصی) Merge Sort (diagnostic)

  • مرتب‌سازی سریع (تئوری) Quick Sort (theory)

  • مرتب‌سازی سریع (پیاده‌سازی) Quick Sort (implementation)

  • مرتب‌سازی سریع (تست) Quick Sort (testing)

  • مرتب‌سازی شمارشی (تئوری) Counting Sort (theory)

  • مرتب‌سازی شمارشی (پیاده‌سازی) Counting Sort (implementation)

  • مرتب‌سازی شمارشی (تست) Counting Sort (testing)

  • مرتب‌سازی شمارشی پایدار (تئوری) Stable Counting Sort (theory)

  • مرتب‌سازی شمارشی پایدار (پیاده‌سازی) Stable Counting Sort (implementation)

  • مرتب‌سازی شمارشی پایدار (نکات) Stable Counting Sort (notes)

  • مرتب‌سازی رادیکس (تئوری) Radix Sort (theory)

  • مرتب‌سازی رادیکس (پیاده‌سازی) Radix Sort (implementation)

  • مرتب‌سازی رادیکس (مقادیر منفی) Radix Sort (negative values)

  • مرتب‌سازی با استفاده از توابع داخلی پایتون Sorting using the Python built-in function

  • چالش الگوریتم‌های مرتب‌سازی شماره ۱ Sort Algorithms Challenge #1

  • راهکار چالش مرتب‌سازی شماره ۱ Sort Algorithms Solution #1

  • چالش الگوریتم‌های مرتب‌سازی شماره ۲ Sort Algorithms Challenge #2

  • راهکار چالش مرتب‌سازی شماره ۲ Sort Algorithms Solution #2

  • چالش الگوریتم‌های مرتب‌سازی شماره ۳ Sort Algorithms Challenge #3

  • راهکار چالش مرتب‌سازی شماره ۳ Sort Algorithms Solution #3

  • چالش الگوریتم‌های مرتب‌سازی شماره ۴ Sort Algorithms Challenge #4

  • راهکار چالش مرتب‌سازی شماره ۴ Sort Algorithms Solution #4

  • جمع‌بندی Summary

لیست‌ها Lists

  • مقدمه‌ای بر لیست‌ها Introduction to lists

  • لیست‌های پیوندی یک‌طرفه (تئوری) Singly Linked Lists (theory)

  • لیست‌های پیوندی یک‌طرفه (پیاده‌سازی) Singly Linked Lists (implementation)

  • انواع داده انتزاعی و پروتکل‌ها Abstract Data Types and Protocols

  • کلاس پایه انتزاعی (ABC) Abstract Base Class

  • کلاس Protocol The Protocol class

  • جفت‌شدگی - ABC در مقابل Protocol Coupling - ABC versus Protocol

  • لیست پیوندی به عنوان یک توالی Linked List as a Sequence

  • لیست‌های پیوندی دو‌طرفه (تئوری) Doubly Linked Lists (theory)

  • لیست‌های پیوندی دو‌طرفه (پیاده‌سازی) Doubly Linked Lists (implementation)

  • راهکار چالش معکوس‌سازی Reversed challenge solution

  • حذف از لیست پیوندی دو‌طرفه Deleting from a doubly linked list

  • حذف از انتهای لیست Deleting from the tail

  • حذف از وسط لیست Deleting from the middle of the list

  • درج در انتهای لیست Inserting at the end of the list

  • درج در وسط لیست Inserting in the middle of the list

  • بهینه‌سازی متد getitem Optimising the getitem method

  • چالش لیست‌ها شماره ۱ Lists Challenge #1

  • راهکار چالش لیست‌ها شماره ۱ Lists Solution #1

  • چالش لیست‌ها شماره ۲ Lists Challenge #2

  • راهکار چالش لیست‌ها شماره ۲ Lists Solution #2

  • چالش لیست‌ها شماره ۳ Lists Challenge #3

  • راهکار چالش لیست‌ها شماره ۳ Lists Solution #3

  • جمع‌بندی Summary

متدهای جادویی (Magic methods) Magic methods

  • مقدمه‌ای بر متدهای جادویی پایتون Introduction to Python's "magic methods"

  • متد __getattribute__ The __getattribute__ method

  • دیکشنری بدون حساسیت به حروف کوچک و بزرگ Case-insensitive dictionary

  • مقایسه __getattribute__ و __getattr__ __getattribute__ and __getattr__

  • پیاده‌سازی یک آرایه با قابلیت تغییر اندازه Implementing a resizable array

  • مقداردهی اولیه و گسترش یک توالی Initialising and extending a sequence

  • متد reverse The reverse method

  • پیمایش یک لیست پیوندی دو‌طرفه Traversing a doubly linked list

  • راهکار چالش متد count، به علاوه __contains__ و index Solution to the count method challenge, plus __contains__ and index

  • تست برای برابری Testing for equality

  • متد __setitem__ __setitem__

  • برش‌ها و کلاس slice Slices and the slice class

  • برش زدن لیست پیوندی ما Slicing our linked list

  • حذف یک برش Deleting a slice

  • تکمیل کد __delitem__ Finishing the __delitem__ code

  • مقداردهی به یک برش Assigning to a slice

  • پیاده‌سازی slice در __setitem__ Implementing slice in __setitem__

  • تکمیل __setitem__ Finishing __setitem__

  • یک مورد خاص و عجیب A strange edge case

  • متدهای سربارگذاری عملگر (Operator overloading) Operator overloading methods

  • عملوندهای منعکس شده Reflected operands

  • متدهای __imul__، __add__ و __iadd__ __imul__, __add__, and __iadd__

  • رفتارهای عجیب و یک باگ Strange behaviour and a bug

  • تست‌های واحد سورس پایتون Python source unit tests

  • جمع‌بندی بخش Section summary

پشته‌ها (Stacks) Stacks

  • مقدمه‌ای بر پشته‌ها (Stacks) Introduction to stacks

  • پشته‌ها (تئوری) Stacks (Theory)

  • پیاده‌سازی پشته با استفاده از list Stack Implementation – list

  • مفهوم __slots__ و چالش پشته لیست پیوندی __slots__ and Linked List Stack Challenge

  • راهکار چالش لیست پیوندی Linked List Challenge Solution

  • مدیریت حافظه پایه (Heap و Stack) Basic memory management (the heap and the stack)

  • پیاده‌سازی پشته با استفاده از array Stack Implementation – array

  • جمع‌بندی پشته‌ها Stacks Summary

صف‌ها و دک‌ها (Queues and deques) Queues and deques

  • مقدمه‌ای بر صف‌ها (Queues) Introduction to queues

  • راهکار چالش صف لیست پیوندی Linked List Queue challenge solution

  • تایپ‌گذاری Self Self type annotation

  • پیاده‌سازی صف با استفاده از array Queue implementation – array

  • ژنریک‌ها (Generics) در پایتون Generics in Python

  • تئوری صف حلقوی Circular queue theory

  • پیاده‌سازی صف حلقوی Circular queue implementation

  • تست کلاس CircularQueue Testing the CircularQueue class

  • تئوری دک (Deque) Deque theory

  • تمرین ۷.۱: آرایه دک Exercise 7.1 Deque array

  • پیاده‌سازی دک با آرایه Deque implementation - array

  • تمرین ۷.۲: آرایه حلقوی دک Exercise 7.2 Deque circular array

  • پیاده‌سازی دک با آرایه حلقوی Deque implementation - circular array

  • تمرین ۷.۳: لیست پیوندی دک Exercise 7.3 Deque linked list

  • پیاده‌سازی دک با لیست پیوندی Deque implementation - linked list

  • تست پیاده‌سازی‌های دک Testing the deque implementations

  • کلاس‌های Queue و Deque در پایتون Python Queue and Deque classes

  • صف‌ها و چندنخی (Multi-threading) Queues and multi-threading

  • ویجت‌های GUI The GUI widgets

  • صف‌ها در کتابخانه استاندارد پایتون Queues in the Python standard library

  • جمع‌بندی Summary

جداول هش (Hash Tables) Hash Tables

  • مقدمه‌ای بر جداول هش Hash tables introduction

  • هش‌ها، توابع هش و هشینگ Hashes, hash functions and hashing

  • پیاده‌سازی HashTable با آرایه HashTable array implementation

  • تست SimpleHashTable ما Testing our SimpleHashTable

  • آدرس‌دهی باز - کاوش خطی (Linear probing) Open addressing – linear probing

  • پیاده‌سازی کاوش خطی Linear probing implementation

  • تست کاوش خطی Linear probing – testing

  • حذف آیتم‌ها - تئوری Removing items – theory

  • حذف آیتم‌ها - پیاده‌سازی با پرچم (flag) Removing items – flag implementation

  • تست متد pop Testing the pop method

  • ارجاعات ضعیف (Weak references) Weak references

  • کال‌بک ارجاع ضعیف Weak reference callback

  • زنجیره‌ای کردن (Chaining) Chaining

  • تابع هش داخلی Built-in hash function

  • نگاشت‌های پایتون (همان جداول هش) Python mappings (a.k.a. hash tables)

  • مرتب‌سازی سطل (Bucket sort) - تئوری Bucket sort (theory)

  • مرتب‌سازی سطل - پیاده‌سازی Bucket sort (implementation)

  • تمرین ۸.۱: مرتب‌سازی درج برای لیست پیوندی دو‌طرفه Exercise 8.1 Insertion sort for a doubly linked list

  • مرتب‌سازی درج برای لیست پیوندی دو‌طرفه Insertion sort for a doubly linked list

  • استفاده از Bucket Sort برای مرتب‌سازی آدرس‌ها Using Bucket Sort to sort addresses

  • هش‌های امن و ماژول hashlib Secure hashes and the hashlib module

  • جمع‌بندی Summary

الگوریتم‌های جستجو Search Algorithms

  • مقدمه Introduction

  • الگوریتم جستجوی خطی Linear search algorithm

  • الگوریتم جستجوی دودویی (تئوری) Binary search algorithm (theory)

  • پیاده‌سازی تکرار شونده جستجوی دودویی Iterative Binary search implementation

  • پیاده‌سازی بازگشتی جستجوی دودویی Recursive Binary Search implementation

  • جمع‌بندی Summary

درخت‌ها Trees

  • مقدمه و تئوری Introduction and theory

  • درخت‌های جستجوی دودویی (BST - تئوری) Binary Search Trees (theory)

  • واژه‌نامه اصطلاحات درخت دودویی Glossary of binary tree terms

  • پیاده‌سازی BST - درج و پیمایش Binary Search Tree implementation – insertion and traversal

  • تمرین ۱۰.۵: تمرین مینیمم و ماکسیمم Exercise 10.5 Min and max exercise

  • راهکارهای تمرین مینیمم و ماکسیمم Min and max exercise solutions

  • پیمایش یک درخت دودویی (تئوری) Traversing a binary tree (theory)

  • پیمایش یک درخت دودویی Traversing a binary tree

  • کپسوله‌سازی TreeNode در کلاس BinaryTree Encapsulating our TreeNode in a BinaryTree class

  • درج و پیمایش تکرار شونده Iterative insertion and traversal

  • ترسیم نمودار درخت با Graphviz Creating tree diagrams with Graphviz

  • حذف گره‌ها از درخت دودویی (تئوری) Deleting nodes from a binary tree (theory)

  • حذف گره به صورت تکرار شونده Delete node iteratively

  • حذف گره به صورت بازگشتی Delete node recursively

  • توضیح حذف بازگشتی Recursive delete explained

  • جستجو در درخت جستجوی دودویی Searching a binary search tree

  • درخت‌های خود‌متعادل (Self-balancing) Self-balancing trees

  • درخت‌های قرمز-سیاه Red-black trees

  • درج در درخت قرمز-سیاه - الگوریتم Inserting into a red-black tree – the algorithm

  • درج در درخت قرمز-سیاه - کدنویسی Inserting into a red-black tree – the code

  • تکمیل کد درج Completing the insert code

  • حذف از درخت قرمز-سیاه Deleting from a red-black tree

  • جمع‌بندی Summary

هیپ‌ها (Heaps) Heaps

  • مقدمه‌ای بر هیپ‌ها (Heaps) Introduction to heaps

  • ذخیره‌سازی هیپ‌ها به صورت آرایه Storing heaps as arrays

  • عملیات Heap push (درج) Heap push (insert)

  • تئوری Heap pop (حذف) Heap pop (delete) theory

  • پیاده‌سازی Heap pop (حذف) Heap pop (delete) implementation

  • عملیات push_pop و replace Heap push_pop and replace

  • متد heapify heapify

  • مرتب‌سازی هیپ (تئوری) Heapsort (theory)

  • مرتب‌سازی هیپ (پیاده‌سازی) Heapsort (implementation)

  • ماژول heapq در کتابخانه استاندارد پایتون heapq in the Python standard library

  • جمع‌بندی Summary

اطلاعات تکمیلی، سورس کد و سایر موارد Extra Information - Source code, and other stuff

  • سورس کدها Source Codes

  • درس جایزه و اطلاعات تکمیلی Bonus Lecture and Information

نمایش نظرات

آموزش ساختارهای داده و الگوریتم‌های پایتون: راهنمای جامع
جزییات دوره
23.5 hours
193
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,263
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Tim Buchalka Tim Buchalka

Java Python Android و C# Expert Developer - 1.28 میلیون دانشجو

Tim Buchalka's Learn Programming Academy Tim Buchalka's Learn Programming Academy

برنامه نویسان و معلمان حرفه ای - 1.75 میلیون دانش آموز

Jean-Paul Roberts Jean-Paul Roberts

برنامه نویس کامپیوتر، تحلیلگر و معلم