آموزش ساختارهای داده در عمق

Data Structures in Depth

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: Hands on Implementation/Coding with Data Structures Programming Data Structures, زبان پیش نیازها:C

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

ساختارهای داده به عنوان پایه ای برای ADT عمل می کنند. ADT (Abstract Data Types) شکل منطقی نوع داده را تعریف می کند. ساختارهای داده مبتنی بر توانایی رایانه برای واکشی و ذخیره داده ها در هر مکانی از حافظه خود، مشخص شده توسط یک اشاره گر است.

ساختارهای داده آرایه و رکورد بر اساس محاسبه آدرس اقلام داده با عملیات حسابی است. ساختارهای داده پیوندی مبتنی بر ذخیره آدرس اقلام داده در خود ساختار هستند. اجرای یک ساختار داده معمولاً مستلزم نوشتن مجموعه‌ای از رویه‌ها است که نمونه‌هایی از آن ساختار را ایجاد و دستکاری می‌کند.

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

موضوعات زیر به‌عنوان بخشی از ویدیوهای برنامه‌نویسی عملی/زنده پوشش داده می‌شوند:

لیست های پیوندی (LL) پیاده سازی/کدگذاری:

  • مفهوم پیوند

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

  • الحاق یک گره به LL

  • نمایش LL

  • طول LL (شمارش)

  • برگشت LL

  • مرتب سازی

  • افزودن گره در شروع LL

  • درج گره بین LL

  • حذف یک گره

  • ایجاد یک LL Double

  • الحاق یک گره به Double LL

  • نمایش Double LL

  • طول دو LL (شمارش)

  • معکوس کردن Double LL

  • درج یک گره بین دو LL

  • چرخش Double LL

  • جفت‌ها را با معیارهای LL مضاعف بشمارید

  • سوالات

  • نمای کلی LL دایره ای (نشانگرهای دسترسی)

  • ایجاد یک LL دایره ای

  • افزودن گره در Start Circular LL (رویکرد 1)

  • Traversal/Display Circular LL (رویکرد 1)

  • درج گره بین یک LL دایره ای (رویکرد 1)

  • حذف یک گره

  • افزودن گره در End Circular LL (رویکرد 2)

  • Traversal/Display Circular LL (رویکرد 2)

  • LL دایره ای - صف (افزودن گره)

  • LL دایره ای - صف (در حال حذف گره)

  • سوالات

پشته ها (پیاده سازی/کدگذاری):

  • نمای کلی پشته

  • پشته با آرایه

  • عبارات

  • ارزیابی عبارت Postfix

  • رفع Infix to Post

  • ارزیابی نمای کلی پیشوند. پسوند به نمای کلی پیشوند

  • برنامه: یافتن عنصر بزرگ بعدی

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

  • برگشت پشته با فهرست پیوندی

  • سوالات

صف‌ها (پیاده‌سازی/کدگذاری):

  • نمای کلی صف

  • صف با استفاده از آرایه

  • صف اولویت با آرایه

  • صف با استفاده از فهرست پیوندی

  • صف اولویت با استفاده از فهرست پیوندی دوبل

  • سوالات

بازگشت

  • نمای کلی بازگشت، مراحل، انواع

  • توابع بازگشتی

  • عملیات فهرست پیوندی با استفاده از Recursion

  • سوالات

درختان

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

  • پیمایش درخت

    • Inorder

    • پیش سفارش

    • پستورر

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

  • BST - درج

  • BST - پیمایش درج

  • پیمایش توضیح داده شد

  • BST - جستجو

    • عملیات جستجو

  • حذف BST

    • موارد حذف

  • تبدیل درخت دودویی به BST

  • یک درخت را به عنوان BST شناسایی کنید

  • گره های صفر و یک فرزند BST را شناسایی کنید

  • سوالات

مرتب سازی

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

  • تحلیل مرتب سازی انتخاب

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

  • تحلیل مرتب‌سازی حبابی

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

  • تحلیل مرتب سازی درج

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

  • تحلیل مرتب سازی سریع

  • مرتب سازی سریع، ادغام بحث مرتب سازی

  • سوالات

درختان دودویی رشته ای

  • نیاز به درخت دودویی رشته ای (TBT)

  • نمای کلی درخت دودویی رشته ای

  • ساختار یک طرفه، پیمایش

  • ساختار دو طرفه، پیمایش

  • درج عملکرد

  • عملکرد پیمایش

  • حذف عملکرد


درختان AVL

  • نیاز به درختان AVL

  • نمای کلی درخت AVL

  • چرخشهای درخت (چپ، راست)

  • درج موارد، کاربرد موارد درج

  • درج کد عملکرد، نسخه نمایشی

  • کد توابع - چرخش‌های چپ راست، چرخش‌های راست چپ،

  • عملکرد حذف، چرخش های مورد نیاز برای حذف

نمودارها

  • نمودارها

  • انواع نمودار

    • ماتریس مجاورت، فهرست مجاورت

  • پیمایش

    • BFS (جستجوی اول پهنا)

    • الگوریتم BFS

    • DFS (جستجوی اول عمق)

    • الگوریتم DFS

  • درخت پوشاننده

  • الگوریتم کوتاهترین مسیر Dijkstra

  • حداقل درخت پوشا

  • الگوریتم پریم

  • الگوریتم کروسکال

درهم سازی، وضوح تصادم

  • هش کردن

  • توابع هش

  • رزولوشن برخورد

  • باز کردن آدرس (Hashing بسته)

  • کاوشگری

    • خطی، درجه دوم، هش دوگانه

  • ضریب بارگذاری جدول هش

  • حذف

  • زنجیره‌سازی جداگانه (هشینگ باز)

  • هشینگ فاخته

ترتیب واژگانی (ترتیب واژگانی)

  • نمای کلی

  • جایگزینی قبلی

  • جایگزینی بعدی




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

لیست پیوندی (پیاده سازی/کدگذاری) Linked List (Implementation / Coding)

  • درباره دوره DS About DS Course

  • خلاصه کردن موضوعات DS در مورد برنامه نویسی زنده (/دستی) Summarizing DS Topics about Live Coding (/ Hands-on)

  • برنامه نویسی زنده (/دستی) DS موضوعات Live Coding (/ Hands-on) DS Topics

  • قبل از درک لیست پیوندی Before understanding Linked List

  • مفهوم پیوند Concept of Link

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

  • ایجاد لیست پیوندی (1) Creating Linked List (1)

  • ایجاد لیست پیوندی (2) Creating Linked List (2)

  • نمایش لیست پیوندی ، تعداد Display of Linked List, Count

  • رویکرد برگشت Reversing Approach

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

  • مرتب سازی لیست پیوندی Sorting of Linked List

  • اضافه کردن گره جدید در شروع Add New node at Start

  • گره جدید را بعد از یک موقعیت وارد کنید Insert New node after a position

  • یک گره را از لیست حذف کنید Delete a node from the list

  • ایجاد لیست پیوند دوگانه (Double LL) Create Double Linked List (Double LL)

  • Double LL: نمایش و شمارش Double LL: Display and Count

  • معکوس کردن دو LL Reversing a Double LL

  • یک گره جدید بعد از یک موقعیت در Double LL وارد کنید Insert a New node after a position in Double LL

  • Double LL: Rotation (1) Double LL: Rotation (1)

  • Double LL: Rotation (2) Double LL: Rotation (2)

  • Double LL: شمارش جفت با معیار Double LL: Counting Pairs with a criteria

  • سوالات Questions

  • مباحث ساختار داده و تعامل Data Structure Topics and Interaction

  • LL دایره ای - مرور کلی Circular LL - overview

  • ایجاد LL ، افزودن در آغاز از طریق جلو Create LL, Add at Begin via front

  • نمایش (Traversal) از طریق جلو Display (Traversal) via front

  • گره را بعد از Element از طریق front وارد کنید Insert node after an Element via front

  • حذف گره با کلید از طریق جلو Delete node with key via front

  • افزودن در انتها از طریق پشت ، نمایشگر Add at End via rear, Display

  • ایجاد ، افزودن به صف (Circular LL) ، نمایش Create, Add to queue (Circular LL), Display

  • حذف از صف (Circular LL) ، Display Remove from queue (Circular LL), Display

  • سوالات Questions

پشته (پیاده سازی/کدگذاری) Stacks (Implementation / Coding)

  • مرور کلی پشته Stack Overview

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

  • کاربرد: مدیریت عبارات Application: Handling Expressions

  • ارزیابی مروری بر بیان Postfix Evaluation of Postfix expression Overview

  • ارزیابی پیاده سازی عبارت Postfix Evaluation of Postfix expression Implementation

  • اینفایکس به نمای کلی Postfix Infix to Postfix Overview

  • پیوند به پیکربندی Postfix Infix to Postfix Implementation

  • ارزیابی پیشوند و پسوند به پیشوند - مرور کلی Prefix Evaluation and Infix to Prefix - Overview

  • کاربرد: یافتن عنصر بزرگ بعدی Application: Finding Next Big Element

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

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

  • سوالات Questions

صف (پیاده سازی/کدگذاری) Queues (Implementation / Coding)

  • مروری بر صف ها Queues Overview

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

  • صف اولویت (1) Priority Queue (1)

  • صف اولویت (2) Priority Queue (2)

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

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

  • سوالات Questions

بازگشت ، لیست پیوندها با بازگشت مجدد انجام می شود Recursion, Linked List Ops with Recursion

  • مروری بر بازگشت Recursion Overview

  • توابع بازگشتی ، مراحل Recursive Functions, Phases

  • عملیات LL با استفاده از بازگشت (1) LL Operations using Recursion (1)

  • عملیات LL با استفاده از بازگشت (2) LL Operations using Recursion (2)

  • سوالات (و بحث) Questions (& Discussion)

درختان (پیاده سازی/کدگذاری) Trees (Implementation / Coding)

  • درختان دودویی (1) Binary Trees (1)

  • درختان دودویی (2) Binary Trees (2)

  • سفرهای درختی (1) Tree Traversals (1)

  • Binary Tree Traversals (2) Binary Tree Traversals (2)

  • Binary Tree Traversals (3) Binary Tree Traversals (3)

  • درخت جستجوی دودویی (BST) - مرور کلی Binary Search Tree (BST) - Overview

  • BST - مروری بر درج BST - Insertion Overview

  • BST- درج (غیر بازگشتی) BST- Insert (Non Recursive)

  • BST - درج (بازگشتی) BST - Insert (Recursive)

  • BST Traversal توضیح BST Traversal Explanation

  • BST - قرار دادن با ترازورها (1) BST - Insert with Traversals (1)

  • BST - Insert with Traversals (2) BST - Insert with Traversals (2)

  • BST - جستجو (/پیدا کردن) نمای کلی BST - Search (/Find) Overview

  • BST - جستجو (1) BST - Search (1)

  • BST - جستجو (2) BST - Search (2)

  • BST - نمای کلی حذف BST - Deletion Overview

  • BST حذف (1) BST Delete (1)

  • BST حذف (2) BST Delete (2)

  • تبدیل درخت دودویی به BST Binary Tree to BST Conversion

  • تشخیص درخت بودن BST Identify Tree to be BST

  • گره های صفر ، یک فرزند BST را شناسایی کنید Identify Zero, One child Nodes of BST

  • سؤال Questions

مرتب سازی Sorting

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

  • مرتب کردن حباب ، تجزیه و تحلیل Bubble Sort, Analysis

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

  • مرتب سازی درج (2) ، تجزیه و تحلیل Insertion Sort (2), Analysis

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

  • پیاده سازی سریع مرتب سازی Quick Sort Implementation

  • مرتب سازی سریع ، تجزیه و تحلیل ، بحث MergeSort Quick Sort, Analysis, MergeSort Discussion

  • سوالات Questions

درختان دودویی رشته ای Threaded Binary Trees

  • Need for Threaded Binary Tree Need for Threaded Binary Tree

  • بررسی اجمالی درخت باینری موضوع Thread Binary Tree Overview

  • ساختار نخ یک طرفه One way Threading Structure

  • پیمایش - یک طرفه Threading Traversal - One way Threading

  • دو طرفه Threading، Traversal Two way Threading, Traversal

  • توابع - Predecessor، Successor، Inorder Functions - Predecessor, Successor, Inorder

  • توابع - درج Functions - Insert

  • کد- Insert، Predecessor، Successor، Inorder Code- Insert, Predecessor, Successor, Inorder

  • حذف - گره برگ Delete - Leaf node

  • حذف - گره با درخت، دو فرزند Delete - node with tree, Two children

  • نسخه ی نمایشی: حذف کد، عملیات درج و حذف Demo: Delete code, Insert & Delete operations

درختان AVL AVL Trees

  • نیاز به AVL Tree Need for AVL Tree

  • نمای کلی درخت AVL AVL Tree Overview

  • بررسی اجمالی چرخش درختان Tree Rotations Overview

  • چرخش راست، به عنوان مثال Right Rotation, Example

  • چرخش چپ، به عنوان مثال Left Rotation, Example

  • درج درخت AVL AVL Tree Insert

  • درج موارد Insert Cases

  • کاربرد Insert Case Application of Insert cases

  • درج توابع کد، نسخه ی نمایشی Insert Code Functions, Demo

  • توابع کد را درج کنید Insert Code Functions

  • توابع کد را درج کنید - چرخش های چپ به راست Insert Code Functions - Left Right Rotations

  • توابع کد را درج کنید - چرخش های راست چپ Insert Code Functions - Right Left Rotations

  • حذف Deletion

  • توابع کد حذف، چرخش Deletion Code Functions, Rotations

نمودارها Graphs

  • موضوعات مربوط به ساختار داده گراف Topics about Graph Datastructure

  • انواع نمودار Graph Types

  • واژه شناسی Terminology

  • نمایش نمودار، ماتریس مجاورت Graph Representation, Adjacency Matrix

  • کد ماتریس مجاورت، نسخه ی نمایشی Adjacency Matrix code, Demo

  • لیست مجاورت Adjacency List

  • ماتریس مجاورت در مقابل فهرست مجاورت Adjacency Matrix vs Adjacency List

  • نمای کلی پیمایش نمودار Graph Traversal overview

  • پیمایش BFS BFS Traversal

  • خلاصه BFS BFS summary

  • BFS Algo با استفاده از صف BFS Algo using Queue

  • کد BFS Algo و نسخه ی نمایشی BFS Algo code and Demo

  • پیمایش DFS DFS Traversal

  • DFS Algo با استفاده از Stack DFS Algo using Stack

  • کد DFS Algo و نسخه ی نمایشی DFS Algo code and Demo

  • الگوریتم Dijkstra - کوتاهترین مسیر Dijkstra Algorithm - Shortest Path

  • فرآیند الگوبرداری Dijkstra Dijkstra Algo Process

  • نمونه ای از کاربرد کوتاه ترین مسیر Example Application of Shortest Path

  • Dijkstra Algo cde and Demo Dijkstra Algo cde and Demo

  • درخت پوشا Spanning Tree

  • پوشا کد درخت و نسخه ی نمایشی Spanning Tree code and Demo

  • Prim's Algo - حداقل درخت پوشا Prim's Algo - Minimum Spanning Tree

  • نمونه کاربرد الگوی پریم (1) Example Application of Prim's Algo (1)

  • نمونه کاربرد الگوی پریم (2) Example Application of Prim's Algo (2)

  • کد برای Prim's Algo و Demo Code for Prim's Algo and Demo

  • الگوی Kruskal's - حداقل درخت پوشا Kruskal's Algo - Minimum Spanning Tree

  • نمونه کاربرد الگوی کروسکال Example Application of Kruskal's Algo

  • پیاده سازی Kruskal Algo (1) Kruskal Algo Implementation (1)

  • پیاده سازی Kruskal Algo (2) Kruskal Algo Implementation (2)

  • کد برای Kruskal Algo و Demo Code for Kruskal Algo and Demo

هش و وضوح تصادم Hashing and Collision Resolution

  • موضوعات - تفکیک هش و برخورد Topics - Hashing and Collision Resolution

  • نیاز به Hashing Need for Hashing

  • هش کردن، عملکرد هش، نیاز به وضوح برخورد Hashing, Hash function, Need for Collision Resolution

  • ویژگی های تابع درهم سازی Hash function properties

  • جزئیات عملکرد هش Hash function details

  • آدرس دهی باز، وضوح برخورد Open Addressing, Collision Resolution

  • کاوش خطی Linear Probing

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

  • هش دوبل (کاوشگر) Double Hashing (Probing)

  • حذف Deletion

  • سوالات Questions

  • زنجیربندی مجزا Separate Chaining

  • آدرس دهی باز در مقابل زنجیره زنی جداگانه Open Addressing vs Separate Chaining

  • کد زنجیره ای جداگانه، نسخه ی نمایشی Separate Chaining Code, Demo

  • نمای کلی هشینگ فاخته Cuckoo Hashing overview

  • مثال هشینگ فاخته Cuckoo Hashing Example

نظم واژگانی (رشته) Lexicographic Order (Strings)

  • ترتیب واژگانی چیست؟ What is Lexicographic Order?

  • یافتن جایگشت نظم واژگانی قبلی (1) Finding Previous Lexicographic Order Permutation (1)

  • یافتن جایگشت نظم واژگانی قبلی (2) Finding Previous Lexicographic Order Permutation (2)

  • یافتن جایگشت ترتیب واژگانی بعدی Finding Next Lexicographic Order Permutation

موضوعات DS DS Topics

  • موضوعات DS DS Topics

نمایش نظرات

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

آموزش ساختارهای داده در عمق
خرید اشتراک و دانلود خرید تکی و دانلود | 360,000 تومان (6 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 3 دوره است و 3 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
34 hours
162
Udemy (یودمی) udemy-small
03 فروردین 1403 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
8,892
4.2 از 5
دارد
ندارد
ندارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Shrirang Korde Shrirang Korde

TechnologistShrirang یک متخصص فناوری در توسعه محصول با مواجهه بین المللی است. بیش از 25 سال تجربه غنی وی در سراسر شرکت هایی مانند Bharat Electronics Bangalore (BEL) ، Tata Elxsi Bangalore / ژاپن ، Philips Software Bangalore / هلند ، Persistent Systems Pune / Nagpur ، راه اندازی مبتنی بر ERP و آموزش ها وجود دارد. وی مشتریان مختلف خارج از کشور را در کشورهایی مانند ایالات متحده آمریکا ، ژاپن ، تایوان ، هلند و بلژیک از جمله کار در محل کار کرده است. او در راه اندازی ماشین جوجه کشی فناوری در VNIT Nagpur با همکاری SINE @ IIT-Bombay نقش مهمی داشت. وی همچنین دارای 10 سال تجربه کار در دانشگاه و استخدام جانبی است. وی مربی برنامه TCS iON است و آموزش آنلاین دوره IoT (از طریق پلتفرم iC TCS) را ارائه می دهد. وی مسئول راه اندازی آزمایشگاه اینترنت اشیا در یکی از دانشکده های مهندسی بود. جدای از این ، وی در حال بازدید از دانشکده VNIT (NIT Nagpur) و سایر کالج های Nagpur بود. وی برنامه های آموزشی را برای دانشکده ها (FDP) و دانشجویان انجام می دهد. وی کتابی با عنوان "21 آزمایش اینترنت اشیا" (یاشوانت کنتکار / شریرنگ کرد) تالیف کرده است.

Udemy (یودمی)

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

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