آموزش ساختارها و الگوریتم های داده: شیرجه عمیق با استفاده از C++

Data Structures and Algorithms : Deep Dive Using C++

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

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

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

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

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


محتویات دوره

1. کار بازگشت

2. مبانی و نمایش آرایه ها

3. نوع داده انتزاعی آرایه

4. لیست پیوندی و انواع آن

5. پشته ها و برنامه های کاربردی آن

6. صف ها

7. درختان با درختان باینری و انواع دیگر

8. دیکشنری ها

9. درخت جستجوی باینری

10. درختان AVL

11. نمودارها

12. تکنیک هش

با ملزومات برنامه نویسی C++، که در پیاده سازی ساختارهای داده با استفاده از C++ مفید خواهد بود



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

معرفی Introduction

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

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

  • ساختار داده و استفاده از حافظه Data structure and memory Usage

  • انواع ساختارهای داده Types of Data Structures

  • لیست خطی و نوع داده چکیده Linear List and Abstract Data Type

ملزومات برنامه نویسی C++ Essentials of C++ programming

  • مقدمه ای بر بخش - "مبانی برنامه نویسی C++" Introduction to the section - "Essentials of C++ Programming"

  • درک کلاس ها Understanding Classes

  • کلاس ها و توابع اعضا Classes and Member Functions

  • برنامه آزمایشی با استفاده از کلاس ها و توابع اعضا Demo Program using Classes and Member Functions

  • برنامه آزمایشی شماره 2 با استفاده از کلاس ها و توابع اعضا Demo Program#2 using Classes and Member functions

  • سازندگان و انواع سازندگان Constructors and Types of Constructors

  • برنامه نمایش سازندگان Program Demonstrating Constructors

  • برنامه با استفاده از یکنواخت اولیه با سازنده Program using Uniform Initialisation with Constructors

  • تخصیص حافظه پویا در C++ Dynamic Memory Allocation in C++

  • مقدمه ای بر قالب ها Introduction to Templates

  • قالب های تابع در C++ Function Templates in C++

  • الگوهای کلاس در C++ Class Templates in C++

  • برنامه هایی که الگوهای کلاس را نشان می دهند Programs Demonstrating Class Templates

  • تخصص قالب در C++ Template Specialisation in C++

  • آشنایی با مکانیزم عبور پارامتر در C++ Understanding Parameter Passing Mechanism in C++

  • برنامه ای برای نمایش عملکرد مکانیزم عبور پارامتر در C++ Program to show the working of Parameter Passing Mechanism in C++

  • درک Exception Handling در C++ Understanding Exception Handling in C++

  • برنامه ای برای درک عملکرد اولیه Exception Handling در C++ Program to understand the Basic working of Exception Handling in C++

  • ایجاد یک استثنا از یک عملکرد Raising an Exception from a Function

  • افزایش استثناها با استفاده از User-Define Class Raising Exceptions Using User-Define Class

  • همه چیز درباره Catch Block All about Catch Block

  • Quiz@C++ Quiz@C++

پیچیدگی محاسباتی Computational Complexity

  • مقدمه ای بر پیچیدگی زمان و مکان Introduction to Time and Space Complexity

  • نمادهای مجانبی Asymptotic Notations

  • Quiz@پیچیدگی محاسباتی Quiz@Computational Complexity

بازگشت Recursion

  • ایده پشت بازگشت Idea behind Recursion

  • درک اینکه Recursion چیست Understanding what Recursion is

  • مجموع 2 عدد Sum of 2 numbers

  • بیایید مجموع 2 عدد را با استفاده از Recursion کد کنیم Let's Code Sum of 2 Numbers using Recursion

  • محصول 2 عدد Product of 2 Numbers

  • بیایید محصول 2 عدد را با استفاده از بازگشت کد کنیم Let's Code Product of 2 Numbers Using recursion

  • تابع قدرت a^b Power Function a^b

  • بیایید تابع قدرت a^b را کد کنیم Let's Code Power Function a^b

  • سری فیبوناچی Fibonacci Series

  • بیایید سری فیبوناچی را با استفاده از بازگشت کد کنیم Let's Code Fibonacci Series using Recursion

  • یافتن GCD یا HCF از 2 عدد داده شده با استفاده از Recursion Finding GCD or HCF of 2 given numbers Using Recursion

  • بیایید GCD یا HCF را با استفاده از بازگشت کد کنیم Let's Code GCD or HCF Using Recursion

  • یافتن فاکتوریل یک عدد معین با استفاده از Recrsion Finding Factorial of a given number Using Recrsion

  • بیایید فاکتوریل را با استفاده از بازگشت کد کنیم Let's Code Factorial Using Recursion

  • Quiz@Recursion Quiz@Recursion

آرایه - یک ساختار داده خطی Array - A Linear Data Structure

  • چرا آرایه ها؟ و آرایه چیست؟ Why Arrays ? and What is Arrays ?

  • اعلام، مقداردهی اولیه و دسترسی - آرایه ها Declaring, Initializing and Accessing - Arrays

  • استاتیک در مقابل آرایه های پویا - چیدمان حافظه حافظه اصلی Static Vs Dynamic Arrays - Memory Layout of Main Memory

  • جزئیات آرایه های استاتیک در مقابل دینامیک Static Vs Dynamic Arrays Details

  • جزئیات آرایه های استاتیک در مقابل پویا ادامه... Static Vs Dynamic Arrays Details Continue...

  • مقدمه ای بر آرایه های دو بعدی Introduction to 2 Dimension Arrays

  • استفاده از روش های مختلف برای تخصیص حافظه برای آرایه های دو بعدی Using Different methods to allocate the Memory for 2 Dimension Arrays

  • تخصیص و عدم تخصیص حافظه برای آرایه های 2-Dim Allocating and DeAllocating Memory for 2-Dim Arrays

  • نمایش آرایه ها Representation of Arrays

  • نمایش آرایه های 2-Dim Representation of 2-Dim Arrays

  • ترتیب ردیف اصلی و ستون اصلی برای آرایه های 2 دیم Row-Major and Column-Major Order for 2-Dim Arrays

  • ترتیب ردیف اصلی و ستون اصلی برای آرایه های 3-Dim Row-Major and Column-Major Order for 3-Dim Arrays

  • نمایش آرایه های n-Dim Representation of n-Dim Arrays

  • Quiz@ArraysBasics Quiz@ArraysBasics

آرایه ADT (نوع داده انتزاعی) Array ADT(Abstract Data Type)

  • مقدمه ای بر آرایه ADT Introduction to Array ADT

  • کلاس آرایه ADT Array Class ADT

  • بیایید کلاس Array ADT را کدگذاری کنیم Let's Code the Array ADT class

  • بیایید یک آرایه ADT ایجاد کنیم Let's Create an Array ADT

  • ایجاد یک کلاس و آرایه استثنایی Creating an Exceptional Class and Array

  • درج عنصر در یک آرایه Inserting the Element in an Array

  • بیایید کدی را برای درج عنصر در یک آرایه بنویسیم Let's write the Code for Inserting the Element in an Array

  • حذف عنصر از یک آرایه Deleting the Element from an Array

  • بیایید کد حذف عنصر از یک آرایه را بنویسیم Let's write the Code for Deleting the Element from an Array

  • عملیات Find() و search() در Array Find() and search() operations on Array

  • بیایید کد عملیات Find() را روی Array بنویسیم Let's write the Code for Find() operation on Array

  • اجازه دهید عملیات Code Search() را روی Array انجام دهیم Let's Code Search() operation on Array

  • بیایید عملیات IsEmpty() IsFull() را روی Array کدنویسی کنیم Let's Code IsEmpty() IsFull() operations on Array

  • بیایید عملیات Length() و Display() را ببینیم Let's see Length() and Display() operations

  • عملیات بیشتر - Get()، Set()، FindMAX()، FindMIN()، Sum()، Avg() و Append() More Operations - Get(), Set(), FindMAX(), FindMIN(), Sum(), Avg() and Append()

  • بیایید عملیات Get()، Set() و indexOf() را روی Array پیاده سازی کنیم Let's Implement Get(), Set() and indexOf() operations on Array

  • بیایید عملیات FindMAX()، FindMIN()، Sum()، Avg() و Append() را روی آرایه ها کدگذاری کنیم. Let's Code FindMAX(), FindMIN(), Sum(), Avg() and Append() operations on Arrays

  • جابجایی عناصر داده یک آرایه Shifting the data Elements of an Array

  • بیایید عناصر آرایه را بچرخانیم Let's Rotate the Elements of Array

  • بیایید چرخش چپ و راست عناصر روی آرایه را کد کنیم Let's Code Left and Right Rotate of the Elements on Array

  • بیایید عناصر داده آرایه را معکوس کنیم Let's Reverse the Data Elements of Array

  • بیایید کد معکوس کردن عناصر داده آرایه را بنویسیم Let's Code Reversing the Data Elements of Array

  • بیایید با استفاده از تکنیک LINEAR Search در آرایه جستجو کنیم Let's Search in Array using LINEAR Search technique

  • بیایید تکنیک جستجوی خطی را کدنویسی کنیم Let's Code Linear Search Technique

  • بیایید جستجوی باینری در آرایه را درک کنیم Let's understand BINARY Search on Array

  • درک جستجوی دودویی تکراری Understanding the ITERATIVE BINARY SEARCH

  • بیایید جستجوی باینری را کد کنیم (روش تکراری) Let's Code Binary Search (Iterative Method)

  • جستجوی باینری بازگشتی در آرایه ها Recursive Binary Search on Arrays

  • بیایید تکنیک جستجوی باینری بازگشتی را کدگذاری کنیم Let's Code Recursive Binary Search technique

  • جستجوی باینری با استفاده از روش تقسیم کن و حکومت کن Binary Search Using Divide and Conquer Apprach

  • بیایید با استفاده از روش Divide and Conquer، جستجوی باینری را کدنویسی کنیم Let's Code Binary Search Using Divide and Conquer Apprach

  • چالش کدنویسی: یافتن حداکثر و حداقل از یک آرایه Coding Challenge: Finding Maximum and Minimum from an Array

  • راه حل چالش کدنویسی: یافتن حداکثر و حداقل Solution to Coding Challenge : Finding Maximum and Minimum

  • چالش کدگذاری: یافتن حداقل تعداد عملیات ادغام در آرایه ها Coding Challenge : Finding Minimum Number of Merge operations on Arrays

  • راه حل چالش کدنویسی یافتن حداقل تعداد عملیات ادغام در آرایه ها Solution to Coding Challenge Finding Minimum No. of Merge operations on Arrays

  • چالش کدنویسی: همه آرایه های فرعی را با مجموع صفر چاپ کنید Coding Challenge : Print All Sub-Arrays with zero sum

  • راه حل چالش کدگذاری چاپ همه آرایه فرعی با مجموع صفر Solution to Coding Challenge printing All Sub-Array with zero-sum

  • چالش کدگذاری: کوچکترین عدد مثبت گمشده را از یک آرایه مرتب نشده پیدا کنید Coding Challenege : Find Smallest missing positive number from an unsorted array

  • راه حل چالش کدنویسی یافتن کوچکترین عدد مثبت Solution to Coding Challenge Finding Smallest Positive number

  • Quiz@Arrays Quiz@Arrays

لیست پیوندی - یک ساختار داده پویا Linked List - A Dynamic Data Structure

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

  • لیست پیوندی در مقابل آرایه ها Linked List Vs Arrays

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

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

  • لیست تک پیوندی و عملیات آن Singly Linked List and its Operations

  • لیست پیوندی تک کلاس ADT Singly Linked List Class ADT

  • بیایید کلاس ADT را برای لیست‌های پیوندی منفرد کدنویسی کنیم Let's Code Class ADT for Singly Linked Lists

  • مثال کار با Insert Process در لیست های پیوندی Example working with Insert Process in a Linked Lists

  • آشنایی با کد درج یک عنصر در لیست پیوندی Understanding the Code for Inserting an Element in a Linked List

  • برنامه ای برای درج یک عنصر در لیست پیوندی Program for Inserting an Element in a Linked List

  • حذف یک عنصر از لیست پیوندهای منفرد Deleting an Element from Singly Linked List

  • برنامه ای برای حذف از لیست های پیوندی منفرد Program for Delete from Singly Linked Lists

  • اعمال عملیات Find() در لیست پیوندی منفرد Applying Find() operation on Singly Linked List

  • برنامه ای برای پیاده سازی عملیات FIND() در لیست های مرتبط Program to Implement FIND() operation on Singly Linked Lists

  • اعمال عملیات Search() در لیست پیوندی منفرد Applying Search() operation on Singly Linked List

  • برنامه ای برای اجرای عملیات Search() در لیست های پیوندی منفرد Program to Implement Search() operation on Singly Linked Lists

  • isEmpty() و isFull() در لیست پیوندی منفرد isEmpty() and isFull() in Singly Linked List

  • برنامه ای برای تابع isEmpty() در لیست پیوندی منفرد Program for isEmpty() function in Singly Linked List

  • نمایش عناصر داده در یک لیست به هم پیوسته Displaying the Data Elements in a Singly Linked List

  • پیاده سازی ALL توابع عضو کلاس SLL Implementing ALL member functions of SLL Class

  • الحاق دو لیست پیوندی Concatenating two Linked Lists

  • بیایید کد کنیم: پیوند دو لیست مرتبط Let's Code:Concatenating Two Linked Lists

  • ادغام دو لیست مرتبط Merging Two Linked Lists

  • ادغام دو لیست مرتبط با مرتب کردن مجدد نشانگرها Merging Two Linked Lists by Rearranging pointers

  • کد اجازه دهید: ادغام دو لیست مرتبط با مرتب کردن مجدد نشانگرها Lets' Code:Merging Two Linked Lists by Rearranging pointers

  • معکوس کردن لیست های پیوندی با استفاده از آرایه Reversing a Linked Lists using Array

  • برنامه ای برای معکوس کردن لیست های پیوندی با استفاده از آرایه Program for Reversing a Linked Lists using Array

  • معکوس کردن لیست پیوندی با مرتب کردن مجدد اشاره گرها Reversing a Linked List by Rearranging the Pointers

  • بیایید کد معکوس کردن لیست های پیوندی را با استفاده از ترتیب مجدد اشاره گرها انجام دهیم Lets's Code Reversing a Linked Lists using by Rearranging the Pointers

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

  • فهرست پیوندی دایره ای ADT Circular Linked List ADT

  • بیایید کلاس ADT را برای لیست های پیوندی دایره ای کد کنیم Let's Code Class ADT for Circular Linked Lists

  • درج یک عنصر در لیست های پیوندی دایره ای Inserting an Element in Circular Linked Lists

  • برنامه درج یک عنصر در لیست های پیوندی دایره ای Program Inserting an Element in Circular Linked Lists

  • حذف یک عنصر از لیست های پیوندی دایره ای Deleting an Element from Circular Linked Lists

  • حذف برنامه از لیست های پیوندی دایره ای Program Deleting from Circular Linked Lists

  • نمایش عناصر در لیست‌های پیوندی دایره‌ای Displaying Elements in Circular Linked lists

  • روش دیگری برای نمایش عناصر در لیست‌های پیوند دایره‌ای Another method to Display Elements in Circular Linked lists

  • نمایش عناصر به صورت بازگشتی در لیست های پیوندی دایره ای Displaying Elements Recursively in Circular Linked Lists

  • بیایید لیست های پیوندی دایره ای () را کد کنیم Let's Code Display() Circular Linked Lists

  • پیاده سازی Destructor لیست های پیوندی دایره ای Implementing the Destructor of Circular Linked Lists

  • برنامه پیاده‌سازی Destructor لیست‌های پیوندی دایره‌ای Program Implementing the Destructor of Circular Linked Lists

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

  • کلاس ADT برای لیست های دارای پیوند دوگانه Class ADT for Doubly Linked lists

  • بیایید کلاس ADT را برای لیست های دارای پیوند دوگانه کدنویسی کنیم Let's Code Class ADT for Doubly Linked lists

  • درج در لیست های دارای پیوند دوگانه Inserting in Doubly Linked Lists

  • برنامه ای برای پیاده سازی insert() در لیست های دارای پیوند دوگانه Program to Implement insert() in Doubly Linked Lists

  • حذف از لیست های دارای پیوند دوگانه Deleting from Doubly Linked Lists

  • برنامه پیاده‌سازی کلاس لیست‌های پیوندی دوگانه Program Implementing Doubly Linked Lists Class

  • جمع چند جمله ای Polynomial Addition

  • برنامه پیاده سازی جمع چند جمله ای Program to Implement Polynomial Addition

  • چالش کدنویسی: چرخه را در لیست پیوندی شناسایی کنید Coding Challenge : Detect Cycle in Linked List

  • راه حل چالش کدنویسی برای تشخیص چرخه در لیست پیوندی Solution to Coding Challenge to Detect Cycle in Linked List

  • چالش کدنویسی: حلقه (چرخه) را از لیست پیوند شده حذف کنید Coding Challenge : Remove Loop (Cycle) from Linked List

  • راه حل چالش کدنویسی برای حذف حلقه از لیست های پیوندی Solution to Coding Challenge to Remove Loop from Linked Lists

  • چالش کدگذاری: نقطه تقاطع را در لیست های پیوندی پیدا کنید Coding Challenge : Find the Intersection Point in Linked Lists

  • راه حل چالش کدگذاری برای یافتن نقطه تقاطع در لیست های پیوندی Solution to Coding Challenge to Find the Intersection Point in Linked Lists

  • چالش کدنویسی: مبادله دو به دو گره های مجاور با استفاده از پیوندها (اشاره گرها) Coding Challenge : Pairwise Swap of Adjacent Nodes using Links(pointers)

  • راه حل چالش کدنویسی مبادله زوجی گره های مجاور با استفاده از پیوندها Solution to Coding Challenge Pairwise Swap of Adjacent Nodes using Links

  • Quiz@LinkedLists Quiz@LinkedLists

پشته - محبوب ترین ساختار داده Stack - The Most popular Data Structure

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

  • بازنمایی های Stack Representations of Stack

  • پشته ADT Stack ADT

  • نمایش آرایه از پشته Array Representation of Stack

  • پیاده سازی پشته با استفاده از نمایش آرایه Implementing Stack using Array Representation

  • پیاده سازی توابع اعضای پشته - قسمت 1 Implementing Stack Member Functions - Part 1

  • پیاده سازی توابع اعضای پشته - قسمت 2 Implementing Stack Member Functions - Part 2

  • بیایید پشته کد را با استفاده از نمایش آرایه بسازیم Let's Code Stack using Array Representation

  • پیاده سازی 2 STACK با استفاده از آرایه واحد Implementing 2 STACKS using single Array

  • بیایید دو پشته را با استفاده از 1 آرایه واحد کدگذاری کنیم Let's Code Two Stacks Using 1 single Array

  • پشته با استفاده از لیست های پیوندی یا نمایش پیوندی پشته Stack Using Linked Lists or Linked Representation of Stack

  • پیاده سازی ADT پشته پیوندی Implementing Linked Stack ADT

  • PUSH و POP را با استفاده از لیست های پیوندی پشته کنید Stack PUSH and POP using Linked Lists

  • بیایید پشته کد را با استفاده از نمایش پیوندی ایجاد کنیم Let's Code Stack using Linked Representation

  • کاربردهای ساختارهای داده پشته - مقدمه Applications of Stack Data Structures - Introduction

  • تبدیل Infix Expression به Postfix Expression Converting an Infix Expression to postfix Expression

  • تبدیل Infix به Postfix مثال Infix to Postfix example conversion

  • یکی دیگر از تبدیل Infix به Postfix مثال One more Infix to Postfix example conversion

  • Infix به Postfix بدون پرانتز با استفاده از Stack Infix to Postfix without Parenthesis Using Stack

  • بیایید Infix را به Postfix بدون پرانتز کد کنیم Let's Code Infix to Postfix without Parenthesis

  • Infix به Postfix با پرانتز با استفاده از Stack Infix to Postfix with Parenthesis Using Stack

  • بیایید Infix را به Postfix با پرانتز کد کنیم Let's Code Infix to Postfix With Parenthesis

  • ارزیابی یک عبارت پسوند Evaluating a Postfix Expression

  • اجرای ارزیابی پسوند Implementing Postfix Evaluation

  • بیایید ارزیابی Postfix را کد کنیم Let's Code Postfix Evaluation

  • تطبیق پرانتز Parenthesis Matching

  • اجرای تطبیق پرانتز Implementing Parenthesis Matching

  • بیایید تطبیق پرانتز را کد کنیم Let's Code Parenthesis Matching

  • کار برج هانوی Working of Tower of Hanoi

  • برج هانوی Tower of Hanoii

  • بیایید برج هانوی را با استفاده از Stack کدنویسی کنیم Let's Code Tower of Hanoii using Stack

  • یکی دیگر از کاربردهای پشته - بازگشت Another Application of stack - Recursion

  • یک رشته را با استفاده از Stack معکوس کنید Reverse a String using Stack

  • بیایید با استفاده از Stack یک رشته را معکوس کنیم Let's Code Reverse a String using Stack

  • مشکل پیچ و خم (موش در یک MAZE) A Mazing Problem (Rat in a MAZE)

  • بیایید یک مشکل Mazing را کدگذاری کنیم Let's Code A Mazing Problem

  • چالش کدنویسی: پشته ای ایجاد کنید که کوچکترین عنصر را در زمان صرف شده برمی گرداند Coding Challenge : Create Stack that returns the Smallest Element in const time

  • راه حلی برای چالش کدگذاری که کوچکترین عنصر را در زمان صرفه برمی گرداند Solution to Coding Challenge that returns Smallest Element in Const Time

  • چالش کدگذاری: پشته ای ایجاد کنید که کوچکترین عنصر را با یک پشته برمی گرداند Coding Challenge : Create Stack that returns the Smallest Element with One stack

  • راه حل چالش کدگذاری که کوچکترین عنصر را با یک پشته برمی گرداند Solution to Coding Challenge that returns the Smallest Element with One stack

  • Quiz@Stack Quiz@Stack

صف - یک ساختار داده خطی دیگر Queue - Another Linear Data Structure

  • مقدمه ای بر ساختار داده صف Introduction to Queue Data Structure

  • نمایندگی های صف Representations of Queue

  • نمایش آرایه از صف Array representation of Queue

  • صف ADT Queue ADT

  • اجرای سازنده و تخریب کننده کلاس صف Implementing Constructor and Destructor of Queue Class

  • پیاده سازی توابع EnQueue() و DeQueue() در Queue Implementing EnQueue() and DeQueue() functions in Queue

  • اجرای سایر توابع عضو صف Implementing other Member functions of Queue

  • بیایید صف ADT را کد کنیم Let's Code Queue ADT

  • صف دایره ای Circular Queue

  • EnQueue() در صف دایره ای EnQueue() in Circular Queue

  • DeQueue() در صف دایره ای DeQueue() in Circular Queue

  • بیایید صف دایره ای را کد کنیم Let's Code Circular Queue

  • درک نمایش پیوندی صف Understanding Linked Representation of Queue

  • EnQueue() و DeQueue() با استفاده از نمایش های پیوندی EnQueue() and DeQueue() using Linked Representations

  • اجرای نمایش پیوندی صف Implementing Linked Representation of Queue

  • بیایید صف کد را با استفاده از لیست های پیوندی ایجاد کنیم Let's Code Queue using Linked Lists

  • DEQueue (صف دو طرفه) DEQueue ( Double-Ended-Queue )

  • InsertFront() و InsertRear() در DEQueue InsertFront() and InsertRear() in DEQueue

  • DeleteFront() و DeleteRear() از DEQueue DeleteFront() and DeleteRear() from DEQueue

  • بیایید کد DEQueue (صف دو پایانی) Let's Code DEQueue (Double-Ended-Queue)

  • پیاده سازی QEUEUE با استفاده از ساختار داده STACK Implementing QEUEUE using STACK Data Structure

  • بیایید صف کد را با استفاده از ساختار داده پشته بنویسیم Let's Code Queue Using Stack Data Structure

  • چالش کدنویسی: با استفاده از یک پشته، صف را اجرا کنید Coding Challenge : Implement Queue Using ONE stack

  • راه حل چالش کدنویسی، صف اجرای صف با استفاده از یک پشته Solution to Coding Challenge Implement Queue Using ONE stack

  • Quiz@QUEUES Quiz@QUEUES

درختان - ساختار داده سلسله مراتبی Trees - A Hierarchical Data Structure

  • مقدمه ای بر درختان با اصطلاحات پایه مورد استفاده Introduction to Trees with Basic Terminology used

  • درخت دودویی Binary Tree

  • نمایش آرایه درخت باینری Array Representation of Binary Treea

  • نمایش پیوندی درخت باینری Linked Representation of Binary Tree

  • انواع درختان باینری Types of Binary Trees

  • درختان دودویی کامل در مقابل کامل در مقابل درختان باینری تقریبا کامل Full Vs Complete Vs Almost Complete Binary Trees

  • خواص درختان باینری Properties of Binary Trees

  • ارتفاع درخت باینری Height of a Binary Tree

  • شمارش تعداد گره ها در یک درخت باینری Counting the Number of Nodes in a Binary Tree

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

  • تعداد درختان دودویی با 'n' - گره ها Number Of Binary Trees with 'n' - Nodes

  • گره های داخلی در مقابل گره های خارجی یک درخت باینری Internal Vs External Nodes of a Binary Tree

  • تکنیک های پیمایش درخت Tree Traversal Techniques

  • پیمایش Inorder InOrder Traversal

  • پیمایش Inorder تکراری درخت دودویی Iterative InOrder Traversal of a Binary Tree

  • پیمایش پیش سفارش PreOrder Traversal

  • پیمایش پیش سفارش تکراری یک درخت باینری Iterative PreOrder Traversal of a Binary Tree

  • پیمایش پست سفارش PostOrder Traversal

  • پیمایش سطح سفارش Level Order Traversal

  • ساخت/تولید یک درخت باینری منحصر به فرد از Traversals Constructing/Generating a Unique Binary Tree from Traversals

  • کلاس درخت باینری ADT Binary Tree Class ADT

  • بیایید کلاس درخت باینری را کد کنیم Let's Code Binary Tree Class

  • بیایید کلاس درختی باینری را با استفاده از صف کدگذاری کنیم Let's Code Binary Tree Class using Queue

  • چالش کدگذاری: ویژگی‌های جمع‌آوری کودکان را در یک درخت باینری بررسی کنید Coding Challenege:Check children-sum property in a binary tree

  • راه حل چالش کدنویسی برای بررسی ویژگی جمع آوری فرزندان در یک درخت باینری Solution to Coding Challenege to Check children-sum property in a binary tree

  • چالش کدنویسی: یک درخت بیان باینری را ارزیابی کنید Coding Challenege : Evaluate a Binary Expression Tree

  • راه حل چالش کدنویسی برای ارزیابی درخت بیان دودویی Solution to Coding Challenege to Evaluate a Binary Expression Tree

  • Quiz@Trees Quiz@Trees

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

  • لغت نامه ها Dictionaries

  • درخت جستجوی دودویی (BST) Binary Search Tree (BST)

  • انواع درخت جستجوی باینری Types Of Binary Search Trees

  • عملیات جستجو در درخت جستجوی باینری Search Operation in Binary Search Tree

  • درج عملیات در جستجوی باینری Tre Insert Operation in Binary Search Tre

  • عملیات را در درخت جستجوی باینری حذف کنید Delete Operation in Binary Search Tree

  • بیایید BST Class ADT را با Insert()، Delete() و Search() کد کنیم. Let's Code BST Class ADT with Insert(), Delete() and Search()

  • ایده پشت درختان AVL Idea behind AVL Trees

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

  • کلاس درختی AVL ADT AVL Tree Class ADT

  • چرخش در درختان AVL Rotations on AVL Trees

  • چرخش LL در درختان AVL LL-Rotation on AVL Trees

  • بیایید LL-Rotation را کد کنیم Let's code LL-Rotation

  • RR-چرخش در درختان AVL RR-Rotation on AVL Trees

  • بیایید RR-Rotation را کد کنیم Let's code RR-Rotation

  • چرخش LR در درختان AVL LR-Rotation on AVL Trees

  • بیایید LR-Rotation را کد کنیم Let's code LR-Rotation

  • چرخش RL در درختان AVL RL-Rotation on AVL Trees

  • بیایید RL-Rotation را کد کنیم Let's code RL-Rotation

  • ساخت درخت AVL Constructing an AVL Tree

  • چالش کدگذاری: تعیین کنید که آیا یک درخت باینری BST کج است یا خیر Coding Challenge : Determine Whether a Binary tree is Skewed BST or Not

  • راه حل چالش کدگذاری برای تعیین اینکه آیا درخت باینری Skewed BST است یا خیر Solution to Coding Challenge to determine whether a Binary tree is Skewed BST

  • Quiz@SearchTrees Quiz@SearchTrees

صف های اولویت و مرتب سازی هیپ Priority Queues and Heap Sort

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

  • عملیات روی هیپ (درج یک عنصر در هیپ) Operations on Heap (Inserting an Element in a Heap)

  • عملیات روی Heap (حذف یک عنصر از یک Heap) Operations on Heap (Deleting an Element from a Heap)

  • صف های اولویت دار Priority Queues

  • Heap و Heap Sort Heap and Heap Sort

  • بیایید تابع مرتب‌سازی هیپ را ببینیم (کد منبع) Let's See Heap Sort function(Source Code)

  • بیایید مرتب سازی هیپ را کد کنیم Let's code Heap Sort

  • فرآیند Heapify Heapify process

  • عملکرد Heapify (Suorce Code) Heapify function(Suorce Code)

  • بیایید مرتب‌سازی هیپ را با فرآیند Heapify کدگذاری کنیم Let's Code Heap Sort Usng Heapify Process

  • Quiz@Heap Quiz@Heap

نمودارها Graphs

  • مبانی ساختار داده های نمودار Basics of Graph Data Structure

  • ویژگی های گراف - جهت دار و بدون جهت Properties of Graph - Directed and Undirected

  • نمایش نمودارها (ماتریس مجاورت، لیست مجاورت، فهرست مجاورت بسته بندی شده) Graph Representations (Adjacency Matrix, Adjacency Lists, Packed Adjacency List)

  • گراف کلاس ADT Graph ADT Class

  • بیایید کلاس Graph ADT را کدگذاری کنیم Let's Code the Graph Class ADT

  • BFS (Breadth-First Search) - پیمایش نمودار BFS (Breadth-First Search) - Graph traversal

  • برنامه BFS و عملکرد آن BFS Program and its functionality

  • بیایید BFS را کد کنیم Let's code BFS

  • DFS (Depth-First Search) - پیمایش نمودار DFS (Depth-First Search) - Graph traversal

  • برنامه DFS و عملکرد آن DFS Program and its functionality

  • بیایید DFS را کد کنیم Let's code DFS

  • آزمون @GRAPHS Quiz@GRAPHS

تکنیک های مرتب سازی Sorting Techniques

  • مقدمه ای بر مرتب سازی - قسمت 1 Introduction to Sorting - Part 1

  • مقدمه ای بر مرتب سازی - قسمت 2 Introduction to Sorting - Part 2

  • مرتب سازی حباب Bubble Sort

  • بیایید کد و عملکرد تابع مرتب‌سازی حباب را ببینیم Let's see the Code and working of Bubble Sort Function

  • تجزیه و تحلیل مرتب سازی حباب Analysis of Bubble Sort

  • بیایید مرتب سازی حباب کد Let's Code Bubble Sort

  • ایده پشت درج مرتب سازی Idea Behind Insertion Sort

  • درک مرتب سازی درج Understanding Insertion Sort

  • بیایید کار Insertion Sort را با یک مثال ببینیم Let's see the working of Insertion Sort with an example

  • درج کد تابع مرتب سازی و ردیابی آن Insertion Sort Function Code and it's tracing

  • تجزیه و تحلیل مرتب سازی درج Analysing Insertion Sort

  • بیایید مرتب سازی درج کد Let's Code Insertion Sort

  • انتخاب مرتب سازی Selection Sort

  • بیایید کد و کار مرتب سازی انتخاب را ببینیم Let's See the Code and Working of Selection Sort

  • تجزیه و تحلیل مرتب سازی انتخاب Analysing Selection Sort

  • بیایید مرتب سازی انتخاب کد Let's Code Selection Sort

  • بیایید فرآیند ادغام را درک کنیم Let's Understand Merge Process

  • بیایید کد ادغام را درک کنیم Let's Understand Merge Code

  • درک مرتب سازی ادغام - قسمت 1 Understanding Merge Sort - Part 1

  • درک مرتب سازی ادغام - قسمت 2 Understanding Merge Sort - Part 2

  • تجزیه و تحلیل ادغام مرتب سازی Analysis of Merge Sort

  • بیایید کد ادغام مرتب سازی Let's Code Merge Sort

  • ایده پشت کار مرتب سازی سریع Idea behind the working of Quick Sort

  • بیایید کار مرتب سازی سریع - قسمت 1 را ببینیم Let's See the working of Quick Sort - Part 1

  • بیایید کار مرتب سازی سریع - قسمت 2 را ببینیم Let's See the working of Quick Sort - Part 2

  • آشنایی با کد پارتیشن Understanding the Partition Code

  • درک تابع QuickSort Undertanding the QuickSort Function

  • تجزیه و تحلیل مرتب سازی سریع Analysis of Quick Sort

  • بیایید مرتب سازی سریع کدگذاری کنیم Let's Code Quick Sort

  • مقدمه ای بر مرتب سازی پوسته Introduction to Shell Sort

  • مرتب سازی پوسته - در یک مثال قدم بزنید Shell Sort - Walk through an Example

  • بیایید کد Shell Sort را ببینیم Let's see the code for Shell Sort

  • تجزیه و تحلیل Shell Sort Analysis of Shell Sort

  • بیایید مرتب سازی پوسته کد Let's Code Shell Sort

  • درک مرتب سازی شمارش Understanding Counting Sort

  • اجازه دهید کد (تابع) برای مرتب سازی شمارش را درک کنیم Let us understand the Code(Function) for Counting Sort

  • بیایید کد شمارش مرتب سازی Let's Code Counting Sort

  • بیایید مرتب سازی شمارش را تجزیه و تحلیل کنیم Let's Analyz Counting Sort

  • بین مرتب سازی Bin Sort

  • بیایید کد منبع Bin Sort را ببینیم Let's see the source code for Bin Sort

  • بیایید کد بن مرتب سازی کنیم Let's Code Bin Sort

  • درک مرتب‌سازی رادیکس Understanding Radix Sort

  • بیایید مرتب سازی رادیکس را کد کنیم Let's Code Radix Sort

  • آزمون @ تکنیک های مرتب سازی Quiz@Sorting Techniques

تکنیک هشینگ Hashing Technique

  • درک عملکرد هشینگ Understanding the Working of Hashing

  • استفاده از کاوش خطی برای حل برخورد Using Linear Probing to resolve Collision

  • بیایید هش کد را با استفاده از کاوش خطی به عنوان تکنیک وضوح تصادم بنویسیم Let's Code Hashing Using Linear Probing as Collision resolution technique

  • هش کردن با استفاده از زنجیر Hashing Using Chaining

  • بیایید کد هشینگ را با استفاده از زنجیره‌سازی به عنوان تکنیک وضوح تصادم بنویسیم Let's Code Hashing Using Chaining as Collision resolution technique

  • Quiz@Hashing Quiz@Hashing

نمایش نظرات

نظری ارسال نشده است.

آموزش ساختارها و الگوریتم های داده: شیرجه عمیق با استفاده از C++
خرید اشتراک و دانلود خرید تکی و دانلود | 600,000 تومان (8 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 5 دوره است و 5 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
50 hours
335
Udemy (یودمی) udemy-small
06 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
1,083
4.9 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Himayatullah Sharief Himayatullah Sharief

مدرس Udemy، Python، C++ و JAVA Developer

Udemy (یودمی)

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

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