آموزش مقدمه ای بر ساختارها و الگوریتم های داده در جاوا

Introduction to Data Structures & Algorithms in Java

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: مجموعه مهارت های برنامه نویسی خود را با یادگیری برخی از ساختارهای داده و الگوریتم هایی که بیشتر مورد استفاده قرار می گیرند ، افزایش دهید. در این دوره ، مدرس Raghavendra Dixit نحوه استفاده از جاوا برای نوشتن کد برای پیاده سازی ساختار داده ها و الگوریتم ها را بررسی می کند. وی پس از توضیح اینكه چرا مطالعه این مباحث سودمند است ، او به تحلیل الگوریتم ها پرداخته و درباره آرایه ها بحث می كند - یك ساختار داده در بیشتر زبان های برنامه نویسی. وی همچنین نحوه پیاده سازی لیست های پیوندی در جاوا را توضیح می دهد و پشته ها ، صف ها ، بازگشت ، درختان جستجوی باینری ، انبوه ها و موارد دیگر را پوشش می دهد.

توجه: این دوره توسط انتشارات Packt ایجاد شده است. ما خوشحالیم که میزبان این آموزش در کتابخانه خود هستیم.
موضوعات شامل:
  • چرا ساختارها و الگوریتم های داده را مطالعه کنیم؟
  • نحوه محاسبه پیچیدگی زمان
  • استفاده از نماد Big O
  • استفاده از الگوریتم های مرتب سازی و جستجو اساسی
  • جستجوی عناصر در آرایه های مرتب نشده و آرایه های مرتب شده
  • پیاده سازی لیست پیوندی در جاوا
  • اجرای پشته ها با استفاده از آرایه ها
  • صف ها با استفاده از آرایه ها
  • بازگشت
  • درختان جستجوی دودویی
  • نمایش انبوه با استفاده از آرایه ها

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

1. آشنایی با الگوریتم ها 1. Introduction to Algorithms

  • الگوریتم اقلیدس Euclid's algorithm

  • الگوریتم مرتب سازی حباب Bubble sort algorithm

  • چرا ساختار داده ها و الگوریتم ها را مطالعه می کنیم؟ Why study data structures and algorithms?

  • صحت یک الگوریتم Correctness of an algorithm

2. تحلیل الگوریتم ها 2. Analysis of Algorithms

  • مقدمه Introduction

  • نحوه محاسبه پیچیدگی زمان How to calculate the time complexity

  • مدل RAM محاسبه The RAM model of computation

  • پیچیدگی زمانی الگوریتم مرتب سازی حباب Time complexity of bubble sort algorithm

  • کد شبه: الگوریتم مرتب سازی حباب Pseudo code: Bubble sort algorithm

  • نماد بزرگ O The Big O notation

  • استفاده از نماد Big O: مثال Using Big O notation: Examples

  • مقایسه زمان اجرا Comparison of running times

3. الگوریتم های اصلی مرتب سازی و جستجو 3. Basic Sorting and Search Algorithms

  • مرتب سازی بر اساس Selection sort

  • مرتب سازی انتخاب: Pseudocode Selection sort: Pseudocode

  • مقدمه ای برای مرتب سازی درج Introduction to insertion sort

  • استفاده از الگوریتم مرتب سازی درج برای نشانه های توپ Applying insertion sort algorithm to cue balls

  • مرتب سازی درج: Pseudocode Insertion sort: Pseudocode

  • الگوریتم های مرتب سازی O (n²): مقایسه O(n²) sorting algorithms: Comparison

  • پایدار در مقابل انواع بی ثبات Stable vs. unstable sorts

  • جستجوی عناصر در یک آرایه بدون کنترل Searching elements in an unordered array

  • جستجوی عناصر در یک مجموعه سفارش داده شده Searching elements in an ordered array

  • جستجوی عناصر در یک آرایه مرتب شده ادامه یافت Searching elements in an ordered array continued

  • درج و حذف موارد در یک مجموعه سفارش داده شده Inserting and deleting items in an ordered array

  • مرتب سازی هر نوع جسم Sorting any type of object

4- لیست های پیوندی 4. Linked Lists

  • لیست پیوند چیست؟ What is a linked list?

  • اجرای لیست پیوندی در جاوا Implementing a linked list in Java

  • درج یک گره جدید Inserting a new node

  • طول یک لیست پیوندی Length of a linked list

  • حذف گره سر Deleting the head node

  • جستجوی یک مورد Searching for an item

  • لیست های تردید به پایان رسید Doubly ended lists

  • درج داده ها در لیست پیوندی مرتب شده Inserting data in a sorted linked list

  • لیست قطعاً مرتبط Doubly linked list

  • مرتب سازی بر اساس درج شده دوباره Insertion sort revisited

5- پشته ها و صف ها 5. Stacks and Queues

  • پشته ها Stacks

  • انواع داده های انتزاعی Abstract data types

  • اجرای پشته ها با استفاده از آرایه ها Implementing stacks using arrays

  • صف Queues

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

  • صف های دوطرفه Double-ended queues

  • صف های دو مرحله ای با استفاده از آرایه ها Double-ended queues using arrays

6. بازگشت 6. Recursion

  • مقدمه Introduction

  • درک بازگشتی Understanding recursion

  • برگرداندن دم Tail recursion

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

  • برج هانوی: اجرای Tower of Hanoi: Implementation

  • مرتب سازی بر اساس Merge sort

  • مرتب سازی ادغام: Pseudocode Merge sort: Pseudocode

  • مرحله ادغام: Pseudocode Merge step: Pseudocode

  • پیچیدگی زمان مرتب سازی در ادغام Time complexity of merge sort

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

  • ساختار داده درخت The tree data structure

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

  • درختان جستجوی دودویی Binary search trees

  • یافتن یک مورد در یک درخت جستجوی باینری Finding an item in a binary search tree

  • اجرای روش find Implementing the find method

  • درج یک مورد در یک درخت جستجوی باینری Inserting an item in a binary search tree

  • حذف یک مورد: مورد 1 Deleting an item: Case 1

  • حذف یک مورد: مورد 2 Deleting an item: Case 2

  • حذف یک مورد: مورد 3 Deleting an item: Case 3

  • حذف یک مورد: حذف نرم Deleting an item: Soft delete

  • یافتن کوچکترین و بزرگترین مقادیر Finding smallest and largest values

  • چرخش درخت: به ترتیب Tree traversal: In order

  • تراش درخت: پیش سفارش Tree traversal: Pre order

  • تراورس درخت: سفارش ارسال Tree traversal: Post order

  • درختان نامتوازن در برابر درختان متعادل Unbalanced trees vs. balanced trees

  • ارتفاع یک درخت باینری Height of a binary tree

  • پیچیدگی زمانی عملیات در درختان جستجوی باینری Time complexity of operations on binary search trees

8. الگوریتم های مرتب سازی بیشتر 8. More Sorting Algorithms

  • مقدمه Introduction

  • Quicksort Quicksort

  • Quicksort: مرحله پارتیشن Quicksort: The partition step

  • مرتب کردن پوسته Shell sort

  • نمونه مرتب سازی برش Shell sort example

  • مرتب سازی Counting sort

  • مرتب سازی بر اساس ردیف Radix sort

  • مرتب سازی سطل Bucket sort

9. پشته ها 9. Heaps

  • مقدمه Introduction

  • حذف ریشه Deleting the root

  • درج یک مورد در یک پشته Inserting an item in a heap

  • به عنوان صف اولویت قرار دارد Heaps as priority queues

  • نمایندگی انبوه با استفاده از آرایه ها Representing heaps using arrays

  • مرتب سازی بر اساس Heap sort

  • ساختن یک پشته Building a heap

10. Hashtables 10. Hashtables

  • مقدمه Introduction

  • مقدمه Introduction

  • جداول دسترسی مستقیم Direct access tables

  • هشی کردن Hashing

  • حل و فصل برخورد از طریق زنجیر زدن Resolving collisions through chaining

  • عملکرد هش The hash function

  • آدرس دهی را باز کنید تا برخورد را برطرف کنید Open addressing to resolve collisions

  • راهکارهای پرداختن به آدرس آزاد Strategies for open addressing

  • پیچیدگی زمانی: آدرس دهی باز Time complexity: Open addressing

  • نتیجه Conclusion

نمایش نظرات

آموزش مقدمه ای بر ساختارها و الگوریتم های داده در جاوا
جزییات دوره
4h 56m
92
Linkedin (لینکدین) Linkedin (لینکدین)
(آخرین آپدیت)
378,281
- از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Raghavendra Dixit Raghavendra Dixit

Dizauvi Learning Solutions من فارغ التحصیل انستیتوی فناوری هند هستم ، معروف به IIT. من به عنوان معمار فنی در هر دو شرکت نرم افزاری مستقر در محصولات و خدمات با حدود 14 سال تجربه برنامه نویسی کار کرده ام (از ژوئن 2013). من با زبانهایی مانند Perl / Java / Objective C / Scala و JavaScript کار کرده ام. من همچنین از چارچوب ها / سیستم عامل های مختلفی مانند Spring ، Play ، Cocoa و Android استفاده کرده ام. من برخی از توسعه برنامه های سازمانی را هدایت کرده ام. در اوقات فراغت من دوست دارم محتوای فنی ایجاد کنم ، که به راحتی قابل پیگیری است و واقعاً به افراد در صنعت نرم افزار کمک می کند کار خود را بهتر انجام دهند. افرادی که تحت آموزش ها و فیلم های من قرار می گیرند همیشه تجربه لذت بخشی دارند و بیشتر آنها به من گفته اند که آرزو می کنند در مدرسه نیز چیزهایی به این روش آموزش داده شود. من امیدوارم که افرادی که دوره های من را در اینجا می گذرانند ، بتوانند کارهای برنامه نویسی خود را بهتر انجام دهند و همچنین با اطمینان می توانند موقعیت های بهتری را بدست آورند ، در صورتی که به دنبال این کار باشند. اخیراً من به عنوان مهندس VP در یک شرکت تازه تأسیس سرمایه دار Sequoia کار کرده ام و اکنون می توانم شروع به کار خود کنم.