آموزش تسلط بر ساختارها و الگوریتم های داده با استفاده از C و C++

Mastering Data Structures & Algorithms using C and C++

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

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

>


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

کد منبع همه برنامه ها برای دانلود در دسترس شماست


درباره مربی

من مدرس این دوره هستم، مدت زیادی است که این درس را به دانشجویان آموزش می دهم، نبض دانشجویان را به خوبی می شناسم، می دانم چگونه موضوع را ارائه دهم تا درک آن آسان باشد. دانش آموزان.

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

پس از اتمام دوره

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


محتویات دوره

1. بازگشت

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

3. آرایه ADT

4. لیست پیوند شده

5. پشته

6. صف ها

7. درختان

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

9. درختان AVL

10. نمودارها

11. تکنیک هش


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

قبل از اینکه شروع کنیم Before we Start

  • یادداشت مربی Instructor's Note

  • معرفی Introduction

مفاهیم ضروری C و C++ Essential C and C++ Concepts

  • مبانی آرایه ها Arrays Basics

  • تمرین: مبانی آرایه ها Practice : Arrays Basics

  • سازه های Structures

  • تمرین: سازه ها Practice : Structures

  • اشاره گرها Pointers

  • تمرین: اشاره گر Practice : Pointers

  • مرجع در C++ Reference in C++

  • تمرین: مرجع Practice : Reference

  • اشاره گر به ساختار Pointer to Structure

  • تمرین: اشاره گر به ساختار Practice : Pointer to Structure

  • کارکرد Functions

  • تمرین: توابع Practice : Functions

  • روش های عبور پارامتر Parameter Passing Methods

  • تمرین: روش های عبور پارامتر Practice : Parameter Passing Methods

  • آرایه به عنوان پارامتر Array as Parameter

  • تمرین: آرایه به عنوان پارامتر Practice : Array as Parameter

  • ساختار به عنوان پارامتر Structure as Parameter

  • تمرین: ساختار به عنوان پارامتر Practice : Structure as Parameter

  • ساختارها و توابع (باید تماشا کنید) Structures and Functions (Must Watch)

  • تبدیل برنامه C به کلاس C++ (باید تماشا کنید) Converting a C program to a C++ class (Must Watch)

  • تمرین: برنامه یکپارچه Practice : Monolithic Program

  • تمرین: برنامه مدولار Practice : Modular Program

  • تمرین: ساختار و توابع Practice : Structure and Functions

  • تمرین: برنامه شی گرا Practice : Object-Oriented Program

  • کلاس C++ و سازنده C++ Class and Constructor

  • تمرین: کلاس ++C Practice : C++ Class

  • کلاس های الگو Template classes

  • تمرین: کلاس الگو Practice : Template Class

تنظیمات مورد نیاز برای برنامه نویسی Required Setup for Programming

  • کامپایلر آنلاین C و C++ Online C and C++ compiler

  • کدبلاک ها و تنظیمات را راه اندازی کنید Setup CodeBlocks and Settings

  • Dev-C++ و تنظیمات را راه اندازی کنید Setup Dev-C++ and Settings

  • اشکال زدایی با استفاده از Dev-C++ Debugging using Dev-C++

  • اشکال زدایی با استفاده از CodeBlocks Debugging using CodeBlocks

  • راه اندازی ویژوال استودیو Setup Visual Studio

  • اشکال زدایی با استفاده از ویژوال استودیو Debugging using Visual Studio

  • Xcode را راه اندازی کنید Setup Xcode

معرفی Introduction

  • معرفی Introduction

  • پشته در مقابل حافظه هیپ Stack vs Heap Memory

  • پشته در مقابل هیپ. ادامه... Stack vs Heap. Continued...

  • ساختارهای داده فیزیکی در مقابل منطقی Physical vs Logical Data Structures

  • ADT ADT

  • پیچیدگی زمان و مکان Time and Space Complexity

  • پیچیدگی زمان و مکان از کد Time and Space Complexity from Code

بازگشت Recursion

  • بازگشت چگونه کار می کند (ردیابی) How Recursion Works ( Tracing )

  • بازگشت عمومی Generalising Recursion

  • نحوه استفاده Recursion از Stack How Recursion uses Stack

  • رابطه عود - پیچیدگی زمانی بازگشت Recurrence Relation - Time Complexity of Recursion

  • اجازه می دهد تا کد بازگشتی Lets Code Recursion

  • متغیرهای ایستا و سراسری در بازگشت Static and Global Variables in Recursion

  • بیایید Static و Global را در Recursion کد کنیم Let's Code Static and Global in Recursion

  • بازگشت دم Tail Recursion

  • بازگشت سر Head Recursion

  • بازگشت درخت Tree Recursion

  • بیایید بازگشت درخت را کد کنیم Let's Code Tree Recursion

  • بازگشت غیر مستقیم Indirect Recursion

  • بیایید بازگشت غیر مستقیم را کد کنیم Let's Code Indirect Recursion

  • بازگشت تودرتو Nested Recursion

  • بیایید Nested Recursion را کد کنیم Let's Code Nested Recursion

  • جمع اعداد طبیعی با استفاده از بازگشت Sum of Natural Number using Recursion

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

  • فاکتوریل با استفاده از بازگشت Factorial using Recursion

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

  • قدرت با استفاده از بازگشت Power using Recursion

  • بیایید Power Recursion را کد کنیم Let's Code Power Recursion

  • سری تیلور با استفاده از بازگشت Taylor Series using Recursion

  • بیایید سری تیلور را با استفاده از Recursion کدنویسی کنیم Let's Code Taylor Series using Recursion

  • سری تیلور با استفاده از قانون هورنر Taylor Series using Horner's Rule

  • بیایید قانون هورنر سری تیلور را کد کنیم - بازگشت Let's Code Taylor Series Horner's Rule - Recursion

  • بیایید سری تیلور را تکراری کد کنیم Let's Code Taylor Series Iterative

  • سری فیبوناچی با استفاده از بازگشت - حافظه Fibonacci Series using Recursion - Memoization

  • بیایید فیبوناچی را کد کنیم Let's Code Fibonacci

  • nCr با استفاده از Recursion nCr using Recursion

  • بیایید nCr را با استفاده از Recursion کد کنیم Let's Code nCr using Recursion

  • مشکل برج هانوی Tower of Hanoi Problem

  • بیایید برج هانوی را کد کنیم Let's Code Tower of Hanoi

  • بازگشت Recursion

  • راه حل های امتحان 1 Quiz 1 Solutions

نمایش آرایه ها Arrays Representations

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

  • اعلامیه های آرایه Declarations of Array

  • نسخه ی نمایشی - اعلام آرایه Demo - Array Declaration

  • آرایه های استاتیک در مقابل دینامیک Static vs Dynamic Arrays

  • نسخه ی نمایشی - استاتیک در مقابل آرایه پویا Demo - Static vs Dynamic Array

  • چگونه اندازه آرایه را افزایش دهیم How to Increase Array Size

  • نسخه ی نمایشی - افزایش اندازه آرایه Demo - Increasing Array Size

  • آرایه های دو بعدی 2D Arrays

  • نسخه ی نمایشی - آرایه دو بعدی Demo - 2D Array

  • نمایش آرایه توسط کامپایلر Array Representation by Compiler

  • فرمول ردیف اصلی برای آرایه های دو بعدی Row Major Formula for 2D Arrays

  • فرمول اصلی ستون برای آرایه های دوبعدی Column Major Formula for 2D Arrays

  • فرمول های آرایه های nD Formulas for nD Arrays

  • فرمول های آرایه های سه بعدی Formulas for 3D Arrays

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

  • راه حل برای آزمون 2 Solutions for Quiz 2

آرایه ADT Array ADT

  • آرایه ADT Array ADT

  • نسخه ی نمایشی - آرایه ADT Demo - Array ADT

  • درج در یک آرایه Inserting in an Array

  • بیایید کد درج کنیم Let's Code Insert

  • در حال حذف از آرایه Deleting from Array

  • بیایید کد حذف کنیم Let's Code Delete

  • جستجوی خطی Linear Search

  • بهبود جستجوی خطی Improving Linear Search

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

  • جستجوی باینری Binary Search

  • الگوریتم جستجوی باینری Binary Search Algorithm

  • بیایید جستجوی باینری را کد کنیم Let's Code Binary Search

  • تجزیه و تحلیل جستجوی باینری Analysis of Binary Search

  • تحلیل موردی متوسط ​​جستجوی باینری Average Case Analysis of Binary Search

  • Get( ) Set( ) Avg( ) Max( ) توابع را در آرایه Get( ) Set( ) Avg( ) Max( ) functions on Array

  • بیایید Get() Set() Max() را روی Array کد کنیم Let's Code Get() Set() Max() on Array

  • معکوس کردن و تغییر یک آرایه Reverse and Shift an Array

  • کد لست معکوس کردن یک آرایه Lest's Code Reversing an Array

  • بررسی کنید که آیا آرایه مرتب شده است یا خیر Check if Array is Sorted

  • بیایید کدنویسی کنیم تا بررسی کنیم که آیا آرایه مرتب شده است یا خیر Let's Code to check if Array is Sorted

  • ادغام آرایه ها Merging Arrays

  • بیایید برای ادغام آرایه ها کد بنویسیم Let's Code to Merge Arrays

  • مجموعه عملیات روی آرایه - اتحاد، تقاطع و تفاوت Set operations on Array - Union, Intersection and Difference

  • بیایید عملیات Code Set را روی Array قرار دهیم Let's Code Set operations on Array

  • بیایید یک برنامه درایور منو برای آرایه ها کدنویسی کنیم Let's Code a Menu Driver program for Arrays

  • بیایید برنامه C را برای Array به C++ تبدیل کنیم Let's convert C program for Array to C++

  • بیایید همه را در برنامه C++ برای Array با هم قرار دهیم Let's Put all together in C++ program for Array

  • چالش دانش آموزی: یافتن یک عنصر گمشده در یک آرایه Student Challenge : Finding Single Missing Element in an Array

  • چالش دانش آموزی: یافتن چندین عنصر گمشده در یک آرایه Student Challenge : Finding Multiple Missing Elements in an Array

  • چالش دانش آموزی: یافتن عنصر گمشده در روش آرایه 2 Student Challenge : Finding Missing Element in an Array Method 2

  • چالش دانش آموزی یافتن موارد تکراری در یک آرایه مرتب شده Student Challenge Finding Duplicates in a Sorted Array

  • چالش دانشجویی: پیدا کردن موارد تکراری در آرایه مرتب شده با استفاده از Hashing Student Challenge : Finding Duplicates in Sorted Array using Hashing

  • چالش دانش آموزی: یافتن موارد تکراری در یک آرایه مرتب نشده Student Challenge : Finding Duplicates in a Unsorted Array

  • چالش دانش آموزی: پیدا کردن یک جفت عنصر با مجموع K Student Challenge : Finding a Pair of Elements with sum K

  • چالش دانش آموزی: پیدا کردن یک جفت عنصر با مجموع K در آرایه مرتب شده Student Challenge : Finding a Pair of Elements with sum K in Sorted Array

  • چالش دانشجویی: یافتن حداکثر و حداقل در یک اسکن Student Challenge : Finding Max and Min in a single Scan

  • آرایه ADT Array ADT

  • راه حل برای امتحان 3 Solutions for Quiz 3

رشته های Strings

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

  • پیدا کردن طول یک رشته Finding Length of a String

  • تغییر حالت یک رشته Changing Case of a String

  • شمارش کلمات و حروف صدادار در یک رشته Counting Words and Vowels in a String

  • اعتبار سنجی یک رشته Validating a String

  • معکوس کردن یک رشته Reversing a String

  • مقایسه رشته ها و بررسی پالیندروم Comparing Strings and Checking Palindrome

  • پیدا کردن موارد تکراری در یک رشته Finding Duplicates in a String

  • یافتن موارد تکراری در یک رشته با استفاده از عملیات بیتی Finding Duplicates in a String using Bitwise Operations

  • بررسی اینکه آیا 2 رشته آناگرام هستند (حروف مجزا) Checking if 2 Strings are Anagram (distinct letters)

  • جایگشت رشته Permutation of String

ماتریس ها Matrices

  • بخش مقدمه Section Introduction

  • ماتریس مورب Diagonal Matrix

  • بیایید ماتریس مورب را کد کنیم Let's Code Diagonal Matrix

  • کلاس C++ برای ماتریس مورب C++ class for Diagonal Matrix

  • بیایید کلاس C++ را برای ماتریس مورب کد کنیم Let's Code C++ class for Diagonal matrix

  • نگاشت ردیف اصلی ماتریس مثلثی پایینی Lower Triangular Matrix Row-Major Mapping

  • ماتریس مثلثی پایینی ستون-نقشه اصلی Lower Triangular Matrix Column-Major Mapping

  • بیایید ماتریس مثلثی پایین را در C کد کنیم Let's Code Lower Triangular Matrix in C

  • بیایید ماتریس مثلثی پایینی را در C++ کدنویسی کنیم Let's Code Lower Triangular Matrix in C++

  • ماتریس مثلثی بالا نگاشت ردیف اصلی Upper Triangular Matrix Row-Major Mapping

  • نگاشت ستون ماتریس مثلثی بالا Upper Triangular Matrix Column-Major Mapping

  • ماتریس متقارن Symmetric Matrix

  • ماتریس سه مورب و سه باند Tri-Diagonal and Tri-Band Matrix

  • ماتریس تاپلیتز Toeplitz Matrix

  • برنامه منویی برای ماتریس ها Menu Driven Program for Matrices

  • برنامه منویی برای ماتریس ها با استفاده از توابع Menu Driven Program for Matrices using Functions

  • نحوه نوشتن کلاس های C++ برای همه ماتریس ها How to Write C++ Classes for All Matrices

  • ماتریس ها Matrices

ماتریس پراکنده و نمایش چند جمله ای Sparse Matrix and Polynomial Representation

  • نمایش ماتریس پراکنده Sparse Matrix Representation

  • اضافه کردن ماتریس های پراکنده Addition of Sparse Matrices

  • نمایش آرایه از ماتریس پراکنده Array Representation of Sparse Matrix

  • بیایید برای ایجاد ماتریس پراکنده کدنویسی کنیم Let's Code to Create Sparse Matrix

  • برنامه اضافه کردن ماتریس پراکنده Program for Adding Sparse Matrix

  • بیایید برای اضافه کردن ماتریس پراکنده کد بنویسیم Let's Code to Add Sparse Matrix

  • بیایید ماتریس پراکنده را با استفاده از C++ کدنویسی کنیم Let's Code Sparse Matrix using C++

  • بیایید ماتریس پراکنده را با استفاده از C++ کدنویسی کنیم ادامه دارد..... Let's Code Sparse Matrix using C++ Continued.....

  • نمایش چند جمله ای Polynomial Representation

  • ارزیابی چند جمله ای Polynomial Evaluation

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

  • بیایید چند جمله ای را کد کنیم Let's Code Polynomial

لیست پیوند شده Linked List

  • چرا ما به لیست پیوندی ساختار داده پویا نیاز داریم؟ Why we need Dynamic Data Structure Linked List

  • درباره لیست پیوندی About Linked List

  • اطلاعات بیشتر درباره لیست پیوندی More About Linked List

  • نمایش لیست پیوندی Display Linked List

  • بیایید نمایش کد برای لیست پیوند شده Let's Code Display for Linked List

  • نمایش بازگشتی لیست پیوندی Recursive Display of Linked List

  • بیایید نمایش بازگشتی را برای لیست پیوندی کد کنیم Let's Code Recursive Display for Linked List

  • شمارش گره ها در یک لیست پیوندی Counting Nodes in a Linked List

  • مجموع همه عناصر در یک لیست پیوندی Sum of All Elements in a Linked List

  • بیایید کد شمارش و جمع کنیم Let's Code Count and Sum

  • حداکثر عنصر در یک لیست پیوندی Maximum Element in a Linked List

  • بیایید حداکثر برای لیست پیوندی کد کنیم Let's Code Max for Linked List

  • جستجو در لیست پیوندی Searching in a Linked List

  • بهبود جستجو در لیست پیوندی Improve Searching in Linked List

  • بیایید جستجوی کد در لیست پیوندی را انجام دهیم Let's Code Searching in Linked List

  • درج در لیست پیوندی Inserting in a Linked List

  • بیایید برای لیست پیوندی کد درج کنیم Let's Code Insert for Linked List

  • ایجاد یک لیست پیوندی با استفاده از Insert Creating a Linked List using Insert

  • ایجاد یک لیست پیوندی با درج در نهایت Creating a Linked List by Inserting at Last

  • درج در فهرست پیوندی مرتب شده Inserting in a Sorted Linked List

  • بیایید کد در لیست پیوندهای مرتب شده درج کنیم Let's Code Insert in Sorted Linked List

  • حذف از لیست پیوند شده Deleting from Linked List

  • بیایید کد حذف را در لیست پیوند داده شده حذف کنیم Let's Code Delete on Linked List

  • بررسی کنید که آیا یک لیست پیوندی مرتب شده است یا خیر Check if a Linked List is Sorted

  • بیایید کدنویسی کنیم تا بررسی کنیم که آیا لیست پیوندها مرتب شده است یا خیر Let's Code to check if Linked List is Sorted

  • موارد تکراری را از لیست پیوندی مرتب شده حذف کنید Remove Duplicates from Sorted Linked List

  • بیایید برای حذف موارد تکراری از لیست پیوندی مرتب شده کدی بنویسیم Let's Code to Remove Duplicates from Sorted Linked List

  • معکوس کردن یک لیست پیوندی Reversing a Linked List

  • معکوس کردن با استفاده از اشاره گرهای کشویی Reversing using Sliding Pointers

  • معکوس بازگشتی برای لیست پیوندی Recursive Reverse for Linked List

  • بیایید معکوس کردن یک لیست پیوندی را کد کنیم Let's Code Reversing a Linked List

  • الحاق 2 لیست پیوند شده Concatenating 2 Linked Lists

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

  • بیایید برای الحاق و ادغام لیست های پیوندی کد بنویسیم Let's Code to Concatenate and Merge Linked Lists

  • LOOP را در لیست پیوندی بررسی کنید Check for LOOP in Linked List

  • بیایید برای بررسی LOOP کد بنویسیم Let's Code to Check LOOP

  • بیایید یک کلاس C++ را برای لیست پیوندی کدنویسی کنیم Let's Code a C++ class for Linked List

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

  • نمایش لیست پیوندی دایره ای Display Circular Linked List

  • بیایید فهرست پیوندی دایره ای را کدگذاری کنیم Let’s Code Circular Linked List

  • درج در فهرست پیوندی دایره ای Inserting in a Circular Linked List

  • بیایید برای یک لیست پیوندی دایره ای کد درج کنیم Let's Code Insert for a Circular Linked List

  • حذف از فهرست پیوندی دایره ای Deleting From Circular Linked List

  • بیایید برای فهرست پیوندی دایره ای کد حذف کنیم Let's Code Delete for Circular Linked List

  • لیست پیوندی دوگانه Doubly Linked List

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

  • در یک لیست پیوندی مضاعف درج کنید Insert in a Doubly Linked List

  • بیایید کد درج برای لیست دوگانه پیوند داده شده است Let's Code Insert for Doubly Linked List

  • در حال حذف از لیست پیوندهای مضاعف Deleting from Doubly Linked List

  • بیایید کد حذف را برای لیست پیوند دوگانه حذف کنیم Let's Code Delete for Doubly Linked List

  • معکوس کردن یک لیست دارای پیوند دوگانه Reverse a Doubly Linked List

  • بیایید برای لیست دوبل پیوند شده کد معکوس کنیم Let's Code Reverse for Doubly Linked List

  • لیست دایره ای پیوند خورده Circular Doubly Linked List

  • مقایسه لیست پیوندی Comparison of Linked List

  • مقایسه آرایه با لیست پیوندی Comparison of Array with Linked List

  • چالش دانش آموزی: یافتن عنصر میانی یک لیست پیوندی. Student Challenge : Finding Middle Element of a Linked List.

  • چالش دانش آموزی: پیدا کردن نقطه متقاطع لیست دو پیوندی Student Challenge : Finding Intersecting point of Two Linked List

  • لیست پیوند شده Linked List

ماتریس پراکنده و چند جمله ای با استفاده از لیست پیوندی Sparse Matrix and Polynomial using Linked List

  • چالش دانش آموزی: ماتریس پراکنده با استفاده از لیست پیوندی Student Challenge : Sparse Matrix using Linked List

  • چالش دانش آموزی: نمایش چند جمله ای با استفاده از لیست پیوندی Student Challenge: Polynomial Representation using Linked List

  • بیایید چند جمله ای را کد کنیم Let's Code Polynomial

پشته Stack

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

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

  • پیاده سازی os Stack با استفاده از Array Implementation os Stack using Array

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

  • با استفاده از لیست پیوندی پشته کنید Stack using Linked List

  • پشته عملیات با استفاده از لیست پیوندی Stack Operations using Linked List

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

  • بیایید کلاس C++ را برای Stack با استفاده از لیست پیوندی کدنویسی کنیم Let's Code C++ class for Stack using Linked List

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

  • برنامه برای تطبیق پرانتز Program for Parenthesis Matching

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

  • اطلاعات بیشتر در مورد تطبیق پرانتز More on Parenthesis Matching

  • تبدیل Infix به Postfix Infix to Postfix Conversion

  • Associativity و Unary Operators Associativity and Unary Operators

  • Infix به Postfix با استفاده از روش Stack 1 Infix to Postfix using Stack Method 1

  • Infix به Postfix با استفاده از روش Stack 2 Infix to Postfix using Stack Method 2

  • برنامه ای برای تبدیل Infix به Postfix Program for Infix to Postfix Conversion

  • بیایید تبدیل Infix به Postfix را کد کنیم Let's Code Infix to Postfix Conversion

  • چالش دانشجویی: پسوند به پسوند با انجمن و پرانتز Student Challenge: Infix to Postfix with Associativity and Parenthesis

  • ارزیابی بیان پسوند Evaluation of Postfix Expression

  • برنامه برای ارزیابی پست فیکس Program for Evaluation of Postfix

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

  • پشته Stack

صف ها Queues

  • صف ADT Queue ADT

  • صف با استفاده از Single Pointer Queue using Single Pointer

  • صف با استفاده از دو اشاره گر Queue using Two Pointers

  • پیاده سازی صف با استفاده از آرایه Implementing Queue using Array

  • بیایید صف کد را با استفاده از Array بسازیم Let's Code Queue using Array

  • بیایید صف کد را در C++ بنویسیم Let's Code Queue in C++

  • اشکال صف با استفاده از آرایه Drawback of Queue using Array

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

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

  • صف با استفاده از لیست پیوندی Queue using Linked List

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

  • صف دو پایانه DEQUEUE Double Ended Queue DEQUEUE

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

  • صف با استفاده از 2 پشته Queue using 2 Stacks

  • صف Queue

درختان Trees

  • واژه شناسی Terminology

  • تعداد درختان باینری با استفاده از گره های N Number of Binary Trees using N Nodes

  • ارتفاع در مقابل گره ها در درخت باینری Height vs Nodes in Binary Tree

  • گره های داخلی در مقابل گره های خارجی در درخت باینری Internal Nodes vs External Nodes in Binary Tree

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

  • ارتفاع در مقابل گره درخت باینری سخت Height vs Node of Strict Binary Tree

  • گره های داخلی در مقابل خارجی درختان باینری سخت Internal vs External Nodes of Strict Binary Trees

  • n-ary درختان n-ary Trees

  • تجزیه و تحلیل درختان n-Ary Analysis of n-Ary Trees

  • بازنمایی درخت دودویی Representation of Binary Tree

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

  • درخت دودویی کامل در مقابل کامل Full vs Complete Binary Tree

  • درخت دودویی دقیق در مقابل کامل Strict vs Complete Binary Tree

  • پیمایش درخت دودویی Binary Tree Traversals

  • روش آسان پیمایش درخت دودویی 1 Binary Tree Traversal Easy Method 1

  • روش آسان پیمایش درخت دودویی 2 Binary Tree Traversal Easy Method 2

  • روش آسان پیمایش درخت دودویی 3 Binary Tree Traversal Easy Method 3

  • ایجاد درخت باینری Creating Binary Tree

  • برنامه ای برای ایجاد درخت باینری Program to Create Binary Tree

  • بیایید ایجاد درخت باینری را کد کنیم Let's Code Creating Binary Tree

  • بیایید ایجاد درخت باینری را در C++ کدنویسی کنیم Let's Code Creating Binary Tree in C++

  • پیش سفارش پیمایش درخت Preorder Tree Traversal

  • توابع پیمایش درخت Inorder Inorder Tree Traversals Functions

  • پیش‌سفارش تکراری Iterative Preorder

  • ترتیب تکرار شونده Iterative Inorder

  • بیایید پیمایش های تکراری را کدنویسی کنیم Let's Code Iterative Traversals

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

  • بیایید پیمایش ترتیب سطح را کد کنیم Let's Code Level Order Traversal

  • آیا می توانیم درختی را از تراورسال تولید کنیم؟ Can we Generate Tree from Traversals

  • تولید درخت از تراورسال Generating Tree from Traversals

  • ارتفاع و تعداد درخت دودویی Height and Count of Binary Tree

  • بیایید ارتفاع و شمارش را کد کنیم Let's Code Height and Count

  • چالش دانش آموزی: شمارش گره های برگ درخت دودویی Student Challenge : Count Leaf Nodes of a Binary Tree

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

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

  • مقدمه BST BST intro

  • جستجو در درخت جستجوی باینری Searching in a Binary Search Tree

  • درج در درخت جستجوی باینری Inserting in a Binary Search Tree

  • درج بازگشتی در درخت جستجوی باینری Recursive Insert in Binary Search Tree

  • ایجاد درخت جستجوی باینری Creating a Binary Search Tree

  • بیایید درخت جستجوی باینری را کد کنیم Let's code Binary Search Tree

  • حذف از درخت جستجوی باینری Deleting from Binary Search Tree

  • بیایید کد درج و حذف بازگشتی را در BST ایجاد کنیم Let's Code Recursive Insert and Delete on BST

  • تولید BST از پیش‌سفارش Generating BST from Preorder

  • برنامه ای برای تولید BST از پیش سفارش Program for Generating BST from Preorder

  • معایب درخت جستجوی باینری Drawbacks of Binary Search Tree

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

درختان AVL AVL Trees

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

  • درج در AVL با چرخش Inserting in AVL with Rotations

  • شکل کلی چرخش های AVL General form of AVL Rotations

  • بیایید چرخش LL را در AVL کد کنیم Let's Code LL Rotation on AVL

  • بیایید LR Rotation را در AVL کد کنیم Let's Code LR Rotation on AVL

  • ایجاد درخت AVL Generating AVL Tree

  • حذف از درخت AVL با چرخش Deletion from AVL Tree with Rotations

  • تجزیه و تحلیل ارتفاع درختان AVL Height Analysis of AVL Trees

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

  • 2-3 درخت 2-3 Trees

  • 2-3-4 درخت 2-3-4 Trees

  • معرفی درختان قرمز-سیاه Red-Black Trees Introduction

  • ایجاد درخت قرمز-سیاه Red-Black Tree creation

  • درختان قرمز-سیاه در مقابل 2-3-4 درختان Red-Black Trees vs 2-3-4 Trees

  • ایجاد درخت قرمز-مشکی مشابه ایجاد درخت 2-3-4 Creating Red-Black Tree similar to Creating 2-3-4 Tree

  • موارد حذف درخت قرمز-مشکی Red-Black Tree Deletion Cases

  • نمونه های حذف درخت قرمز-سیاه Red-Black Tree Deletion Examples

  • درخت قرمز-سیاه در مقابل حذف درخت 2-3-4 Red-Black Tree vs 2-3-4 Tree Deletion

پشته Heap

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

  • درج در یک پشته Inserting in a Heap

  • برنامه برای درج در پشته Program to Insert in a Heap

  • ایجاد یک Heap Creating a Heap

  • حذف از Heap و Heap Sort Deleting from Heap and Heap Sort

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

  • Heapify - روش سریعتر برای ایجاد Heap Heapify - Faster Method for creating Heap

  • پشته به عنوان صف اولویت Heap as Priority Queue

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

  • معیارهای مورد استفاده برای تجزیه و تحلیل مرتب سازی Criteria used for Analysing Sorts

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

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

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

  • مرتب سازی درج ادامه دارد.... Insertion Sort Continued....

  • برنامه برای مرتب سازی درج Program for Insertion Sort

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

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

  • مقایسه حباب و مرتب سازی درج Comparing Bubble and Insertion Sort

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

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

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

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

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

  • مرتب سازی سریع Quick Sort

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

  • آنالیز مرتب سازی سریع ادامه دارد..... Analysis of Quick Sort Continued.....

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

  • ادغام Merging

  • مرتب سازی ادغام تکراری Iterative Merge Sort

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

  • مرتب سازی ادغام بازگشتی Recursive Merge Sort

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

  • تعداد مرتب سازی Count Sort

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

  • سطل/مرتب سازی سطل Bin / Bucket Sort

  • مرتب سازی ریشه Radix Sort

  • مرتب سازی پوسته Shell Sort

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

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

  • مقدمه ای بر هشینگ Introduction to Hashing

  • زنجیر زدن Chaining

  • بیایید کد زنجیره ای را ایجاد کنیم Let's Code Chaining

  • کاوش خطی Linear Probing

  • بیایید کاوش خطی را کد کنیم Let's Code Linear Probing

  • کاوش درجه دوم Quadratic Probing

  • هش دوبل Double Hashing

  • ایده های عملکرد هش Hash Function Ideas

  • هش کردن Hashing

نمودارها Graphs

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

  • نمایش گراف بدون جهت Representation of Undirected Graph

  • نمایش گراف های جهت دار Representation of Directed Graphs

  • جستجوی اول عرض Breadth First Search

  • برنامه برای BFS Program for BFS

  • ابتدا جستجوی عمق Depth First Search

  • برنامه برای DFS Program for DFS

  • بیایید BFS و DFS را کد کنیم Let's Code BFS & DFS

  • پوشا درختان Spanning Trees

  • درخت پوشاننده حداقل هزینه Prim Prim's Minimum Cost Spanning Tree

  • برنامه پریم Prim's Program

  • بیایید از Code Prim استفاده کنیم Let's Code Prim's using

  • درخت پوشاننده حداقل هزینه Kruskal Kruskal's Minimum Cost Spanning Tree

  • زیر مجموعه های جدا Disjoint Subsets

  • برنامه کروسکال Kruskal's Program

  • بیایید برنامه Kruskla را کدگذاری کنیم Let's Code Kruskla's Program

  • نمودارها Graphs

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

  • نمادهای مجانبی بیگ اوه، امگا، تتا Asymptotic Notations Big Oh , Omega , Theta

  • PDF برای همه برنامه ها PDF for All Programs

نمایش نظرات

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

آموزش تسلط بر ساختارها و الگوریتم های داده با استفاده از C و C++
خرید اشتراک و دانلود خرید تکی و دانلود | 600,000 تومان (8 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 5 دوره است و 5 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
58.5 hours
390
Udemy (یودمی) udemy-small
26 مهر 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
144,387
4.6 از 5
دارد
دارد
دارد
Abdul Bari

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Abdul Bari Abdul Bari

برنامه نویس و مدرس حرفه ای

Udemy (یودمی)

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

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