آموزش تسلط بر ساختمان داده‌ها و الگوریتم‌ها - حل مسئله با جاوا [ویدئویی] - آخرین آپدیت

دانلود Master Data Structures and Algorithms - Problem-Solving with Java [Video]

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره با مبانی ساختمان داده‌ها شروع شده و مفاهیم کلیدی لیست‌های پیوندی، پشته‌ها و صف‌ها را شرح می‌دهد. شما طراحی و پیاده‌سازی آن‌ها را درک خواهید کرد و سپس به بررسی عمیق ساختارهای پیشرفته‌تری مانند درخت‌های دودویی، درخت‌های جستجوی دودویی و هش‌مپ‌ها خواهید پرداخت. این دوره بر اهمیت انتخاب ساختمان داده مناسب برای مسائل مختلف تأکید دارد و مقایسه‌های دقیقی بین آرایه‌ها و لیست‌های پیوندی ارائه داده و هر مفهوم را به صورت عملی در جاوا پیاده‌سازی می‌کند. در ادامه، وارد دنیای الگوریتم‌های پیچیده جستجو و مرتب‌سازی می‌شوید. استراتژی‌های جستجوی بهینه مانند جستجوی خطی و دودویی را مطالعه کرده و الگوریتم‌های مرتب‌سازی از جمله Bubble Sort، Selection Sort، Insertion Sort، Merge Sort و Quick Sort را پیاده‌سازی خواهید کرد. هر الگوریتم از نظر پیچیدگی زمانی و مکانی تحلیل می‌شود تا درک عمیق‌تری از کارایی و کاربردهای آن‌ها در سناریوهای واقعی به دست آورید. این دوره همچنین الگوریتم‌های گراف و کاربردهای آن‌ها را معرفی کرده و درس‌های مفصلی درباره روش‌های نمایش گراف مانند ماتریس مجاورت و لیست مجاورت ارائه می‌دهد. در پایان دوره، مهارت‌های لازم برای حل مسائل دنیای واقعی با استفاده از ساختمان داده‌ها و الگوریتم‌ها را کسب کرده و این دانش را در توسعه نرم‌افزار و برنامه‌نویسی رقابتی به کار خواهید گرفت. پیاده‌سازی و مدیریت لیست‌های پیوندی، پشته‌ها و صف‌ها تحلیل و پیاده‌سازی الگوریتم‌های جستجو مانند جستجوی دودویی و خطی تسلط بر الگوریتم‌های مرتب‌سازی شامل Quick Sort، Merge Sort و Bubble Sort ساخت درخت‌های دودویی و درخت‌های جستجوی دودویی در جاوا درک اصول پیاده‌سازی Map و HashMap به‌کارگیری الگوریتم‌های گراف با استفاده از نمایش ماتریس مجاورت و لیست مجاورت این دوره برای توسعه‌دهندگان آینده نرم‌افزار، دانشجویان علوم کامپیوتر یا هر کسی که به دنبال بهبود مهارت‌های حل مسئله و تفکر الگوریتمیک با استفاده از جاوا است، ایده‌آل است. داشتن دانش قبلی در برنامه‌نویسی توصیه می‌شود اما الزامی نیست. پوشش جامع ساختمان داده‌هایی مانند لیست‌های پیوندی، درخت‌ها و گراف‌ها * بررسی عمیق الگوریتم‌های جستجو و مرتب‌سازی با پیاده‌سازی در جاوا * پروژه‌های عملی و تمرین‌های کدنویسی برای تثبیت مفاهیم اصلی

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

مقدمه Introduction

  • ساختمان داده‌ها چیستند: درک سازماندهی و ذخیره‌سازی What Are Data Structures: Understanding Organization and Storage

  • الگوریتم‌ها چیستند: حل مسئله و تفکر محاسباتی What Are Algorithms: Problem-Solving and Computational Thinking

  • نصب JDK 21 در ویندوز: راه‌اندازی محیط توسعه Installing JDK 21 on Windows: Development Environment Setup

  • نصب JDK 21 در macOS: آماده‌سازی مک Installing JDK 21 on macOS: Getting Your Mac Ready

  • نصب JDK 21 در اوبونتو: راهنمای نصب در لینوکس Installing JDK 21 on Ubuntu: Linux Setup Guide

  • نصب کامل IntelliJ IDEA: مک، ویندوز و لینوکس IntelliJ IDEA Complete Setup: Mac, Windows, and Linux

تحلیل پیچیدگی Complexity Analysis

  • درک پیچیدگی: اندازه‌گیری کارایی الگوریتم Understanding Complexity: Measuring Algorithm Efficiency

  • پیچیدگی زمانی: تحلیل زمان اجرا و عملکرد Time Complexity: Analyzing Execution Time and Performance

  • پیچیدگی مکانی: ارزیابی نیازهای مصرف حافظه Space Complexity: Evaluating Memory Usage Requirements

آشنایی با لیست‌های پیوندی Linked Lists Introduction

  • لیست پیوندی چیست: مبانی ساختمان داده‌های پویا What Is a Linked List: Dynamic Data Structure Fundamentals

  • انواع لیست‌های پیوندی: مدل‌های یک‌طرفه، دوطرفه و حلقوی Types of Linked Lists: Singly, Doubly, and Circular Variants

  • لیست‌های پیوندی در مقابل آرایه‌ها: مقایسه ساختمان داده‌ها و عملکرد Linked Lists vs Arrays: Comparing Data Structures and Performance

لیست پیوندی یک‌طرفه Singly Linked List

  • مفهوم و طراحی لیست پیوندی یک‌طرفه: درک ساختار نود Singly Linked List Concept and Design: Understanding Node Structure

  • ایجاد یک لیست پیوندی یک‌طرفه: پیاده‌سازی از صفر Creating a Singly Linked List: Building from Scratch Implementation

  • عملیات Prepend: درج نود در ابتدای لیست Prepend Operation: Inserting Nodes at the Beginning

  • درج در موقعیت خاص: افزودن نود در مکان‌های مشخص Insert at Position: Adding Nodes at Specific Locations

  • حذف از ابتدا: حذف اولین نود Delete from Beginning: Removing the First Node

  • حذف در موقعیت خاص: حذف نود از مکان‌های مشخص Delete at Position: Removing Nodes from Specific Locations

  • پیمایش لیست پیوندی یک‌طرفه: حرکت روی تمامی نودها Traversing a Singly Linked List: Iterating Through All Nodes

لیست پیوندی دوطرفه Doubly Linked List

  • مفهوم و طراحی لیست پیوندی دوطرفه: اتصالات دوطرفه نودها Doubly Linked List Concept and Design: Bidirectional Node Connections

  • ایجاد یک لیست پیوندی دوطرفه: ساخت ساختار دوطرفه Creating a Doubly Linked List: Building the Two-Way Structure

  • عملیات Prepend در لیست دوطرفه: درج در ابتدا Prepend to Doubly Linked List: Inserting at the Beginning

  • عملیات Append در لیست دوطرفه: درج در انتها Append to Doubly Linked List: Inserting at the End

  • درج در موقعیت خاص در لیست دوطرفه: درج در میانه لیست Insert at Position in Doubly Linked List: Mid-List Insertion

  • حذف از ابتدای لیست پیوندی دوطرفه: حذف اولین نود Delete from Beginning of Doubly Linked List: Removing First Node

  • حذف از انتهای لیست پیوندی دوطرفه: حذف آخرین نود Delete from End of Doubly Linked List: Removing Last Node

  • حذف در موقعیت خاص در لیست دوطرفه: حذف نود هدف Delete at Position in Doubly Linked List: Targeted Node Removal

  • پیمایش لیست پیوندی دوطرفه: ناوبری جلو و عقب Traversing a Doubly Linked List: Forward and Backward Navigation

پشته (Stack) Stack

  • مفهوم و طراحی پشته: درک ساختمان داده LIFO Stack Concept and Design: Understanding LIFO Data Structure

  • ایجاد و پیاده‌سازی پشته: ساخت کلاس Stack Creating and Implementing Stack: Building the Stack Class

  • عملیات پشته: پیاده‌سازی متدهای push()، pop() و peek() Stack Operations: Implementing push(), pop(), and peek()

صف (Queue) Queue

  • مفهوم و طراحی صف: درک ساختمان داده FIFO Queue Concept and Design: Understanding FIFO Data Structure

  • ایجاد و پیاده‌سازی صف: ساخت کلاس Queue Creating and Implementing Queue: Building the Queue Class

  • عملیات صف: پیاده‌سازی متدهای enQueue() و deQueue() Queue Operations: Implementing enQueue() and deQueue()

صف اولویت‌دار (Priority Queue) Priority Queue

  • مفهوم و طراحی صف اولویت‌دار: پیاده‌سازی صف مرتب Priority Queue Concept and Design: Ordered Queue Implementation

  • ایجاد صف اولویت‌دار: ساخت ساختار مبتنی بر Heap Creating a Priority Queue: Building Heap-Based Structure

  • درج و اندازه در صف اولویت‌دار: افزودن عناصر با اولویت Priority Queue Insert and Size: Adding Elements with Priority

  • عملیات Peek و Pop در صف اولویت‌دار: دسترسی به عناصر با بالاترین اولویت Priority Queue Peek and Pop: Accessing Highest Priority Elements

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

  • مفهوم و طراحی درخت دودویی: مبانی ساختمان داده سلسله‌مراتبی Binary Tree Concept and Design: Hierarchical Data Structure Fundamentals

  • ایجاد و پیاده‌سازی درخت دودویی: ساخت ساختار نود درخت Creating and Implementing Binary Tree: Building Tree Node Structure

  • مرور پیمایش‌های درخت: درک Preorder، Inorder و Postorder Tree Traversals Overview: Understanding Preorder, Inorder, and Postorder

  • پیمایش Preorder: الگوریتم و پیاده‌سازی (ریشه-چپ-راست) Preorder Traversal: Root-Left-Right Algorithm and Implementation

  • پیمایش Inorder: الگوریتم و پیاده‌سازی (چپ-ریشه-راست) Inorder Traversal: Left-Root-Right Algorithm and Implementation

  • پیمایش Postorder: الگوریتم و پیاده‌سازی (چپ-راست-ریشه) Postorder Traversal: Left-Right-Root Algorithm and Implementation

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

  • مفهوم و طراحی درخت جستجوی دودویی: ویژگی‌های درخت دودویی مرتب Binary Search Tree Concept and Design: Ordered Binary Tree Properties

  • ایجاد و پیاده‌سازی درخت جستجوی دودویی: ساخت ساختار BST Creating and Implementing Binary Search Tree: Building BST Structure

  • درج در درخت جستجوی دودویی: حفظ ویژگی مرتب بودن Inserting into Binary Search Tree: Maintaining Order Property

  • جستجو در درخت جستجوی دودویی: عملیات جستجوی بهینه Searching with Binary Search Tree: Efficient Lookup Operations

  • حذف در درخت جستجوی دودویی: حذف نودها با حفظ ترتیب Deletion with Binary Search Tree: Removing Nodes While Preserving Order

مپ‌ها و هش‌مپ‌ها Maps and Hash Maps

  • مفهوم و طراحی مپ‌ها: ساختمان داده‌های جفت کلید-مقدار Maps Concept and Design: Key-Value Pair Data Structures

  • توضیح هش‌مپ‌ها: مکانیزم ذخیره‌سازی کلید-مقدار مبتنی بر هش Hash Maps Explained: Hash-Based Key-Value Storage Mechanism

  • ایجاد و پیاده‌سازی مپ‌ها: ساخت ساختار Map Creating and Implementing Maps: Building the Map Structure

  • عملیات put() در مپ: الگوریتم درج جفت‌های کلید-مقدار Map put() Operation: Inserting Key-Value Pairs Algorithm

  • عملیات get() در مپ: الگوریتم بازیابی مقادیر توسط کلید Map get() Operation: Retrieving Values by Key Algorithm

  • عملیات remove() در مپ: الگوریتم حذف جفت‌های کلید-مقدار Map remove() Operation: Deleting Key-Value Pairs Algorithm

گراف‌ها Graphs

  • مفهوم و طراحی گراف: درک راس‌ها و یال‌ها Graph Concept and Design: Understanding Vertices and Edges

  • پیاده‌سازی لیست یال‌ها: بررسی مفهومی و طراحی Edge List Implementation: Conceptual Overview and Design

  • پیاده‌سازی لیست یال‌ها در جاوا: ساختار کامل کد Implementing Edge List in Java: Complete Code Structure

  • متد insertVertex(): الگوریتم و کد افزودن راس‌ها Graph insertVertex(): Adding Vertices Algorithm and Code

  • متد insertEdge(): الگوریتم و کد افزودن یال‌ها Graph insertEdge(): Adding Edges Algorithm and Code

  • متد removeVertex(): الگوریتم و کد حذف راس‌ها Graph removeVertex(): Deleting Vertices Algorithm and Code

  • متد removeEdge(): الگوریتم و کد حذف یال‌ها Graph removeEdge(): Deleting Edges Algorithm and Code

  • متد vertices(): پیاده‌سازی بازگرداندن تمامی راس‌ها Graph vertices(): Returning All Vertices Implementation

  • متد edges(): پیاده‌سازی بازگرداندن تمامی یال‌ها Graph edges(): Returning All Edges Implementation

  • متد areAdjacent(): بررسی اتصالات بین راس‌ها Graph areAdjacent(): Checking Vertex Connections

  • متد incidentEdges(): یافتن یال‌های متصل Graph incidentEdges(): Finding Connected Edges

  • متد opposite(): یافتن نقطه انتهایی دیگر Graph opposite(): Finding the Other Endpoint

  • متد replace(): به‌روزرسانی عناصر راس و یال Graph replace(): Updating Vertex and Edge Elements

  • نمایش ماتریس مجاورت: رویکرد آرایه دو بعدی Adjacency Matrix Representation: Two-Dimensional Array Approach

  • نمایش لیست مجاورت: استفاده از لیست‌های پیوندی برای ذخیره گراف Adjacency List Representation: Linked Lists for Graph Storage

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

  • درک جستجوی خطی: استراتژی جستجوی متوالی Understanding Linear Search: Sequential Search Strategy

  • پیاده‌سازی جستجوی خطی: تحلیل و بررسی کد Implementing Linear Search: Code Walkthrough and Analysis

  • درک جستجوی دودویی: رویکرد تقسیم و غلبه Understanding Binary Search: Divide and Conquer Approach

  • پیاده‌سازی جستجوی دودویی: کد الگوریتم جستجوی بهینه Implementing Binary Search: Efficient Search Algorithm Code

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

  • درک Bubble Sort: تکنیک مرتب‌سازی مبتنی بر مقایسه Understanding Bubble Sort: Comparison-Based Sorting Technique

  • پیاده‌سازی Bubble Sort: پیاده‌سازی گام‌به‌گام کد Implementing Bubble Sort: Step-by-Step Code Implementation

  • درک Selection Sort: استراتژی یافتن کوچک‌ترین عنصر Understanding Selection Sort: Finding Minimum Element Strategy

  • پیاده‌سازی Selection Sort: کد کامل الگوریتم Implementing Selection Sort: Complete Algorithm Code

  • درک Insertion Sort: ساخت تدریجی دنباله مرتب Understanding Insertion Sort: Building Sorted Sequence Gradually

  • پیاده‌سازی Insertion Sort: درج عناصر به ترتیب Implementing Insertion Sort: Inserting Elements in Order

  • درک Merge Sort: استراتژی مرتب‌سازی تقسیم و غلبه Understanding Merge Sort: Divide and Conquer Sorting Strategy

  • پیاده‌سازی Merge Sort: کد الگوریتم ادغام بازگشتی Implementing Merge Sort: Recursive Merge Algorithm Code

  • درک Quick Sort: رویکرد مرتب‌سازی مبتنی بر افراز (Partition) Understanding Quick Sort: Partition-Based Sorting Approach

  • پیاده‌سازی Quick Sort: مرتب‌سازی بهینه با انتخاب Pivot Implementing Quick Sort: Efficient Sorting with Pivot Selection

نمایش نظرات

آموزش تسلط بر ساختمان داده‌ها و الگوریتم‌ها - حل مسئله با جاوا [ویدئویی]
جزییات دوره
7h 55m
84
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
Arvona Labs
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Arvona Labs Arvona Labs

فیصل ممون یک رهبر محصول، کارآفرین و مدرس با بیش از ۱۲ سال تجربه در توسعه موبایل و اپلیکیشن است. او محصولات دیجیتال جهانی را ساخته و مقیاس‌بندی کرده است که توسط میلیون‌ها کاربر در سراسر جهان استفاده می‌شوند. فیصل چندین استارتاپ تأسیس کرده است که در مجموع بیش از نیم میلیون کاربر جذب کرده و از گوگل و سایر سرمایه‌گذاران جذب سرمایه نموده‌اند، و همچنین در شتاب‌دهنده Google Launchpad شرکت داشته است. در حال حاضر، او در حال ساخت EmbarkX است و همچنان بر توسعه محصولات اثرگذار تمرکز دارد. فیصل از طریق دوره‌های خود، بینش‌های عملی از مسیر حرفه‌ای خود را به اشتراک می‌گذارد تا به زبان‌آموزان کمک کند هم از نظر حرفه‌ای و هم شخصی رشد کنند.