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

Fundamental Data Structures & Algorithms using C language.

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ساختارها و الگوریتم های داده را برای Stack، Queue، Linked List، Binary Search Tree و Heap (با استفاده از برنامه نویسی C) بیاموزید. بازگشت، پشته، نمادهای لهستانی، پسوند infix، FIFO، صف دایره‌ای و دو انتها، فهرست پیوندی - خطی، دوتایی و دایره‌ای، پشته و صف با استفاده از فهرست پیوندی پشته چیست، الگوریتم‌هایی برای عملکرد Push و Pop. پیاده سازی ساختار داده Stack با استفاده از C. استفاده از Stack - بررسی پرانتز در یک عبارت با استفاده از Stack - درک نمادهای لهستانی، الگوریتم و پیاده سازی تبدیل infix به postfix و ارزیابی عبارت postfix FIFO Queue چیست، درک عملیات Queue - درج و حذف، پیاده سازی FIFO Queue محدودیت های صف FIFO مفهوم صف دایره ای - پیاده سازی صف دایره ای. مفهوم صف دو پایان، توسعه منطق و اجرای صف دو پایان. مفهوم لیست پیوندی - تعریف، چرا به لیست پیوندی نیاز داریم. لیست پیوندی منفرد - توسعه الگوریتم برای روش های مختلف و سپس پیاده سازی آنها با استفاده از برنامه نویسی C لیست پیوند دوگانه - توسعه الگوریتم روش های مختلف و سپس پیاده سازی آنها با استفاده از برنامه نویسی C Circular Linked List - توسعه الگوریتم روش های مختلف و سپس پیاده سازی آنها با استفاده از برنامه نویسی C نحوه تخمین پیچیدگی زمانی هر الگوریتم نمادهای Big Oh، Big Omega و Big Theta. بازگشت، مفهوم بازگشت دم، بازگشت در مقابل تکرار. درخت دودویی، تعریف، پیمایش (به ترتیب، پیش سفارش و پس از سفارش)، درخت جستجوی باینری، پیاده سازی. Heap - مفهوم، تعریف، درخت باینری تقریباً کامل، درج در پشته، تنظیم پشته، حذف، heapify و مرتب‌سازی پشته. پیش نیازها: دانش آموز باید با برنامه نویسی C مقدماتی آشنا باشد.

این دوره به دانش آموزان کمک می کند تا دانش ساختارهای داده و الگوریتم را با استفاده از زبان برنامه نویسی C درک کنند. دانش ساختارهای داده و الگوریتم ها برای توسعه مهارت های برنامه نویسی بهتر ضروری است.

این دوره بر اساس برنامه درسی استاندارد دانشگاه‌های سراسر جهان برای دوره کارشناسی ارشد مهندسی و برنامه کامپیوتر است.

علاوه بر توسعه گام به گام مفاهیم، ​​دانش آموزان نحوه نوشتن الگوریتم و سپس نحوه نوشتن برنامه بر اساس الگوریتم های این دوره را نیز یاد خواهند گرفت.


در این دوره آموزشی موارد زیر را خواهید آموخت: (همه با استفاده از برنامه نویسی C پیاده سازی شده اند)

  1. مفهوم بنیادی ساختار داده


  2. چرا به ساختارهای داده نیاز داریم


  3. پشته - ایده، تعریف، الگوریتم، پیاده سازی.


  4. استفاده از Stack - بررسی پرانتز، علامت گذاری لهستانی، تبدیل و ارزیابی Infix به postfix.


  5. صف FIFO - ایده، تعریف، الگوریتم، پیاده سازی.


  6. صف دایره ای با استفاده از آرایه - ایده، تعریف، الگوریتم، پیاده سازی.


  7. صف دو پایانه با استفاده از آرایه - ایده، تعریف، الگوریتم، اجرا.


  8. لیست پیوندی - ایده، تعریف، چرا به لیست پیوندی نیاز داریم. مقایسه با آرایه.


  9. لیست پیوندی تکی - توسعه الگوریتم برای عملیات های مختلف و سپس پیاده سازی هر یک از آنها


  10. ایجاد پشته و صف با استفاده از لیست پیوندی منفرد - پیاده سازی.


  11. فهرست پیوندی دوگانه - ایده، تعریف، الگوریتم عملیات‌ها و پیاده‌سازی‌های مختلف.


  12. فهرست پیوندی دایره‌ای - ایده، تعریف، الگوریتم و پیاده‌سازی.

14. محاسبه کارایی الگوریتم‌ها، پیچیدگی‌های بدترین حالت (بیگ اوه)، میانگین حالت (تتا بزرگ) و بهترین حالت (امگا بزرگ). نحوه محاسبه آنها برای الگوریتم های مختلف.

15. جستجوی باینری

16. بازگشت با جزئیات نمونه برنامه با استفاده از بازگشت و مقایسه انتقادی بین رویکرد بازگشتی و رویکرد تکراری حل مسئله.

17. درخت دودویی، تعریف، پیمایش (در، قبل و بعد سفارش)، اجرای درخت جستجوی باینری.

18. ساختار داده هیپ، تعریف، درج پشته، حذف، تنظیم پشته، Heapify و مرتب سازی پشته.




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

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

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

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

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

همه چیز درباره Stack All about Stack

  • معرفی Stack Introduction of Stack

  • درک اولیه Stack. Basic understanding of Stack.

  • الگوریتم پایه برای ساختار داده پشته. Basic Algorithm for Stack data structure.

  • درک خود را در مورد عملیات Stack آزمایش کنید Test your understanding on Stack operations

  • پیاده سازی Stack. Implementation of Stack.

  • چند توضیح بیشتر در مورد استفاده از اشاره گر Some more explanations about the use of Pointers

  • ساخت منو برای اجرا Building a menu for the implementation.

  • پشته را پویا کنید. Make the Stack dynamic.

همه چیز درباره Stack All about Stack

  • معرفی Stack Introduction of Stack

  • درک اولیه Stack. Basic understanding of Stack.

  • چند مثال عملی که در آن از Stack استفاده می شود. Some practical example where Stack is used.

  • چند مثال عملی که در آن از Stack استفاده می شود. Some practical example where Stack is used.

  • الگوریتم پایه برای ساختار داده پشته. Basic Algorithm for Stack data structure.

  • درک خود را در مورد عملیات Stack آزمایش کنید Test your understanding on Stack operations

  • پیاده سازی Stack. Implementation of Stack.

  • چند توضیح بیشتر در مورد استفاده از اشاره گر Some more explanations about the use of Pointers

  • ساخت منو برای اجرا Building a menu for the implementation.

  • پشته را پویا کنید. Make the Stack dynamic.

  • پشته را پویاتر کنید. Make the stack more dynamic.

  • پشته را پویاتر کنید. Make the stack more dynamic.

  • Stack In Action - تبدیل اعشاری به باینری Stack In Action - Decimal to binary conversion

  • Stack In Action - تبدیل اعشاری به باینری Stack In Action - Decimal to binary conversion

  • Stack In Action - معکوس کردن محتوای یک فایل متنی. Stack In Action - Reversing the content of a text file.

  • Stack In Action - معکوس کردن محتوای یک فایل متنی. Stack In Action - Reversing the content of a text file.

توسعه گام به گام یک برنامه بررسی پرانتز با استفاده از Stack. Step-by-step developing a parenthesis checking program using Stack.

توسعه گام به گام یک برنامه بررسی پرانتز با استفاده از Stack. Step-by-step developing a parenthesis checking program using Stack.

  • درک مشکل. Understanding the problem.

  • درک مشکل. Understanding the problem.

  • توسعه الگوریتم برای بررسی براکت. Developing the algorithm for bracket checking.

  • توسعه الگوریتم برای بررسی براکت. Developing the algorithm for bracket checking.

  • توضیح الگوریتمی که برای بررسی پرانتز ایجاد می کنیم. The explanation of the algorithm that we develop for parenthesis checking.

  • توضیح الگوریتمی که برای بررسی پرانتز ایجاد می کنیم. The explanation of the algorithm that we develop for parenthesis checking.

  • اجرای برنامه بررسی پرانتز - قسمت 1 Implementation of parenthesis checking program - Part 1

  • اجرای برنامه بررسی پرانتز - قسمت 1 Implementation of parenthesis checking program - Part 1

  • اجرای برنامه بررسی پرانتز - قسمت 2 Implementation of parenthesis checking program - Part 2

  • اجرای برنامه بررسی پرانتز - قسمت 2 Implementation of parenthesis checking program - Part 2

نماد لهستانی و نماد لهستانی معکوس. Polish notation and Reverse Polish Notation.

  • مقدمه ای بر نشانه گذاری لهستانی Introduction to Polish Notation

  • درک تقدم عملگرها، ایده تبدیل - پسوند به پیشوند/پسوند Understanding precedence of operators, conversion idea - infix to prefix/postfix

  • نمادهای لهستانی، تبدیل پسوند به پیشوند یا پسوند. Polish Notations, converting infix to prefix or postfix.

  • نحوه ارزیابی نمادهای لهستانی یا معکوس لهستانی. How to evaluate Polish or Reverse Polish Notations.

  • الگوریتم ارزیابی عبارت Postfix. Algorithm for evaluating Postfix expression.

  • ارزیابی بیان پیشوند و پسوند Evaluating prefix and postfix expression

  • اجرای ارزیابی عبارت Postfix با زبان برنامه نویسی C. Implementing evaluation of Postfix expression with C Programming language.

  • تبدیل Infix به Postfix - نمونه های بیشتر با رویه Infix to Postfix conversion - More examples with procedure

  • نوشتن الگوریتم تبدیل عبارت Infix به Postfix معادل. Writing the algorithm for converting Infix expression to equivalent Postfix.

  • تبدیل infix به postfix - بررسی اولویت Converting infix to postfix - the precedence checking

  • با شروع پیاده سازی، ابتدا اجازه می دهد تا تابع بررسی کننده اولویت را توسعه دهیم. Starting the implementation, lets first develop the precedence checker function.

  • نوشتن تابع C برای تبدیل Infix به Postfix. Writing the C function for converting Infix to Postfix.

  • تابع تبدیل و ارزیابی را در یک برنامه واحد ترکیب کنید. Combine the conversion and evaluation function in a single program.

نماد لهستانی و نماد لهستانی معکوس. Polish notation and Reverse Polish Notation.

  • مقدمه ای بر نشانه گذاری لهستانی Introduction to Polish Notation

  • نمادهای لهستانی Polish Notations

  • نمادهای لهستانی Polish Notations

  • درک تقدم عملگرها، ایده تبدیل - پسوند به پیشوند/پسوند Understanding precedence of operators, conversion idea - infix to prefix/postfix

  • نمادهای لهستانی، تبدیل پسوند به پیشوند یا پسوند. Polish Notations, converting infix to prefix or postfix.

  • نحوه ارزیابی نمادهای لهستانی یا معکوس لهستانی. How to evaluate Polish or Reverse Polish Notations.

  • الگوریتم ارزیابی عبارت Postfix. Algorithm for evaluating Postfix expression.

  • ارزیابی بیان پیشوند و پسوند Evaluating prefix and postfix expression

  • اجرای ارزیابی عبارت Postfix با زبان برنامه نویسی C. Implementing evaluation of Postfix expression with C Programming language.

  • بحث در مورد نحوه تبدیل Infix به Postfix Discussion on how to convert Infix to Postfix.

  • بحث در مورد نحوه تبدیل Infix به Postfix Discussion on how to convert Infix to Postfix.

  • تبدیل Infix به Postfix - نمونه های بیشتر با رویه Infix to Postfix conversion - More examples with procedure

  • توضیح رویه ای که infix را به postfix تبدیل می کند. Elaboration of the procedure that converts infix to postfix.

  • توضیح رویه ای که infix را به postfix تبدیل می کند. Elaboration of the procedure that converts infix to postfix.

  • نوشتن الگوریتم تبدیل عبارت Infix به Postfix معادل. Writing the algorithm for converting Infix expression to equivalent Postfix.

  • تبدیل infix به postfix - بررسی اولویت Converting infix to postfix - the precedence checking

  • اجرای الگوریتم برای تبدیل Infix به Postfix را خشک کنید. Dry running the Algorithm for converting Infix to Postfix.

  • اجرای الگوریتم برای تبدیل Infix به Postfix را خشک کنید. Dry running the Algorithm for converting Infix to Postfix.

  • با شروع پیاده سازی، ابتدا اجازه می دهد تا تابع بررسی کننده اولویت را توسعه دهیم. Starting the implementation, lets first develop the precedence checker function.

  • نوشتن تابع C برای تبدیل Infix به Postfix. Writing the C function for converting Infix to Postfix.

  • تابع تبدیل و ارزیابی را در یک برنامه واحد ترکیب کنید. Combine the conversion and evaluation function in a single program.

همه چیز در مورد صف All about Queue

  • ایده اجرای صف FIFO با استفاده از Array - درک با انیمیشن. The FIFO queue implementation idea using Array - Understanding with animation.

  • الگوریتم صف FIFO را به صورت خشک اجرا کنید. Dry run the FIFO queue algorithm.

  • عملیات پشته و صف Stack and Queue operations

  • نقص در اجرای FIFO Queue Flaw in the implementation of FIFO Queue

  • حرکت عقب و جلو در صف دایره ای Moving rear and front in Circular Queue

  • اجرای صف دایره ای. Implementation of Circular Queue.

  • اجرای خشک الگوریتم DEQ. Dry run of the DEQ algorithm.

  • اجرای صف دو پایانه. Implementation of Double Ended Queue.

همه چیز در مورد صف All about Queue

  • مقدمه ای بر صف Introduction to Queue

  • مقدمه ای بر صف Introduction to Queue

  • درک اولیه از صف Basic understanding of Queue

  • درک اولیه از صف Basic understanding of Queue

  • ایده اجرای صف FIFO با استفاده از Array - درک با انیمیشن. The FIFO queue implementation idea using Array - Understanding with animation.

  • الگوریتم برای صف FIFO. Algorithm for FIFO Queue.

  • الگوریتم برای صف FIFO. Algorithm for FIFO Queue.

  • درک الگوریتم صف FIFO FIFO Queue Algorithm understanding

  • درک الگوریتم صف FIFO FIFO Queue Algorithm understanding

  • الگوریتم صف FIFO را به صورت خشک اجرا کنید. Dry run the FIFO queue algorithm.

  • اجرای صف FIFO. Implementation of FIFO Queue.

  • اجرای صف FIFO. Implementation of FIFO Queue.

  • عملیات پشته و صف Stack and Queue operations

  • منویی برای برنامه Queue. A menu for the Queue program.

  • منویی برای برنامه Queue. A menu for the Queue program.

  • شکاف در اجرای صف FIFO. The loophole in our implementation of FIFO Queue.

  • شکاف در اجرای صف FIFO. The loophole in our implementation of FIFO Queue.

  • با درک این شکاف، چرا این اتفاق افتاد؟ Understanding the loophole, why that happened?

  • با درک این شکاف، چرا این اتفاق افتاد؟ Understanding the loophole, why that happened?

  • نقص در اجرای FIFO Queue Flaw in the implementation of FIFO Queue

  • مقدمه ای بر صف دایره ای. Introduction to Circular Queue.

  • مقدمه ای بر صف دایره ای. Introduction to Circular Queue.

  • عملیات صف دایره ای نحوه انجام عملیات صف و صف Circular queue operations. How to perform enqueue and dequeue operations.

  • عملیات صف دایره ای نحوه انجام عملیات صف و صف Circular queue operations. How to perform enqueue and dequeue operations.

  • حرکت عقب و جلو در صف دایره ای Moving rear and front in Circular Queue

  • الگوریتم برای عملیات دایره ای صف. Algorithm for Circular Queue operations.

  • الگوریتم برای عملیات دایره ای صف. Algorithm for Circular Queue operations.

  • خشک کردن عملیات صف دایره ای با استفاده از الگوریتم. Dry run Circular Queue operations using the algorithm.

  • خشک کردن عملیات صف دایره ای با استفاده از الگوریتم. Dry run Circular Queue operations using the algorithm.

  • اجرای صف دایره ای. Implementation of Circular Queue.

  • مقدمه ای بر صف دو انتها Introduction to Double Ended Queue

  • مقدمه ای بر صف دو انتها Introduction to Double Ended Queue

  • توسعه الگوریتم برای عملیات Double Ended Queue. Algorithm development for Double Ended Queue operations.

  • توسعه الگوریتم برای عملیات Double Ended Queue. Algorithm development for Double Ended Queue operations.

  • اجرای خشک الگوریتم DEQ. Dry run of the DEQ algorithm.

  • اجرای صف دو پایانه. Implementation of Double Ended Queue.

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

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

  • تعریف لیست پیوندی، مفهوم گره، درک اصطلاحات اولیه Definition of Linked List, conception of Node, understanding basic terminologies

  • دسته بندی لیست پیوندی - لیست پیوندی تکی، دوگانه و دایره ای. Categories of Linked List - Singly, Doubly and Circular Linked List.

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

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

  • تعریف لیست پیوندی، مفهوم گره، درک اصطلاحات اولیه Definition of Linked List, conception of Node, understanding basic terminologies

  • دسته بندی لیست پیوندی - لیست پیوندی تکی، دوگانه و دایره ای. Categories of Linked List - Singly, Doubly and Circular Linked List.

  • معرفی LinkedList LinkedList Introduction

  • معرفی LinkedList LinkedList Introduction

لیست تک پیوندی Singly Linked List

  • درک نوع ساختاری که برای اجرای لیست پیوندی منفرد نیاز داریم. Understanding the 'struct' type we need for implementing singly linked list.

  • عملیات لیست پیوندی واحد - شروع برنامه. The Singly Linked List operations - starting the program.

  • در حال توسعه عملیات یافتن - برای جستجوی یک هدف در لیست پیوند شده. Developing find operation - to search for a target in the linked list.

  • داده ها را از فایل بارگیری کنید و لیست پیوندی را بسازید. Load data from file and build the linked list.

  • ایجاد لیست پیوندی از اعداد صحیح تولید شده به طور تصادفی. Creating Linked List from randomly generated integer numbers.

  • حذف اولین عملیات برای حذف اولین گره. Delete first operation to delete the first node.

  • گره ای را که حاوی داده هدف است حذف کنید. Delete a node that contain a target data.

  • لیست پیوندهای منفرد را به صورت بازگشتی طی کنید. Traverse the singly linked list recursively.

  • پیاده سازی Stack با استفاده از لیست پیوندی منفرد. Implementation of Stack using singly linked list.

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

لیست تک پیوندی Singly Linked List

  • درک نوع ساختاری که برای اجرای لیست پیوندی منفرد نیاز داریم. Understanding the 'struct' type we need for implementing singly linked list.

  • عملیات لیست پیوندی واحد - شروع برنامه. The Singly Linked List operations - starting the program.

  • در حال توسعه عملیات Insert At Tail - یک گره جدید به عنوان آخرین گره اضافه کنید. Developing Insert At Tail operation - Add a new node as last node.

  • در حال توسعه عملیات Insert At Tail - یک گره جدید به عنوان آخرین گره اضافه کنید. Developing Insert At Tail operation - Add a new node as last node.

  • پیاده سازی Insert at Head - یک گره جدید به عنوان اولین گره اضافه کنید. Implementing Insert at Head - Add a new node as the first node.

  • پیاده سازی Insert at Head - یک گره جدید به عنوان اولین گره اضافه کنید. Implementing Insert at Head - Add a new node as the first node.

  • عبور از لیست پیوندی - چاپ محتوای هر گره. Traversing the linked list - printing the content of each node.

  • عبور از لیست پیوندی - چاپ محتوای هر گره. Traversing the linked list - printing the content of each node.

  • چاپ جزئیات هر گره از لیست پیوند شده. Printing the detail of each node of the linked list.

  • چاپ جزئیات هر گره از لیست پیوند شده. Printing the detail of each node of the linked list.

  • کامپایل و اجرای برنامه نوشته شده تا الان. Compiling and executing the program written so far.

  • کامپایل و اجرای برنامه نوشته شده تا الان. Compiling and executing the program written so far.

  • برای لیست پیوندی تک تمرین کنید Practice for Singly Linked List

  • برای لیست پیوندی تک تمرین کنید Practice for Singly Linked List

  • در حال توسعه عملیات یافتن - برای جستجوی یک هدف در لیست پیوند شده. Developing find operation - to search for a target in the linked list.

  • داده ها را از فایل بارگیری کنید و لیست پیوندی را بسازید. Load data from file and build the linked list.

  • ایجاد لیست پیوندی از اعداد صحیح تولید شده به طور تصادفی. Creating Linked List from randomly generated integer numbers.

  • حذف اولین عملیات برای حذف اولین گره. Delete first operation to delete the first node.

  • حذف آخرین عملیات برای حذف آخرین گره. Delete last operation to delete the last node.

  • حذف آخرین عملیات برای حذف آخرین گره. Delete last operation to delete the last node.

  • گره ای را که حاوی داده هدف است حذف کنید. Delete a node that contain a target data.

  • لیست پیوند شده را معکوس کنید. Reverse the linked list.

  • لیست پیوند شده را معکوس کنید. Reverse the linked list.

  • لیست پیوندهای منفرد را به صورت بازگشتی طی کنید. Traverse the singly linked list recursively.

  • پیاده سازی Stack با استفاده از لیست پیوندی منفرد. Implementation of Stack using singly linked list.

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

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

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

  • عملیات Find and Insert After و Insert Before. Find and Insert After and Insert Before operation.

  • حذف یک گره - ابتدا حذف، آخرین حذف و حذف یک هدف. Deleting a node - delete first, delete last and delete a target.

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

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

  • شروع برنامه برای اجرای عملیات های مختلف برای لیست پیوندی مضاعف. Starting the program to implement various operations for Doubly Linked List.

  • شروع برنامه برای اجرای عملیات های مختلف برای لیست پیوندی مضاعف. Starting the program to implement various operations for Doubly Linked List.

  • پیاده سازی متد Add First برای افزودن یک گره جدید به عنوان اولین گره. Implementation of Add First method to add a new node as the first node.

  • پیاده سازی متد Add First برای افزودن یک گره جدید به عنوان اولین گره. Implementation of Add First method to add a new node as the first node.

  • اجرای AddLast برای اضافه کردن یک گره جدید به عنوان آخرین گره. AddLast implementation to add a new node as the last node.

  • اجرای AddLast برای اضافه کردن یک گره جدید به عنوان آخرین گره. AddLast implementation to add a new node as the last node.

  • عملیات Find and Insert After و Insert Before. Find and Insert After and Insert Before operation.

  • حذف یک گره - ابتدا حذف، آخرین حذف و حذف یک هدف. Deleting a node - delete first, delete last and delete a target.

  • صف دو پایانه با استفاده از لیست پیوندی دوگانه. Double Ended Queue using doubly linked list.

  • صف دو پایانه با استفاده از لیست پیوندی دوگانه. Double Ended Queue using doubly linked list.

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

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

  • توسعه عملیات یافتن و چاپ. Developing find and print operation.

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

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

  • عملیات درج برای فهرست پیوندی دایره ای. Insert operation for Circular Linked List.

  • عملیات درج برای فهرست پیوندی دایره ای. Insert operation for Circular Linked List.

  • حذف عملیات Node. Delete Node operation.

  • حذف عملیات Node. Delete Node operation.

  • توسعه عملیات یافتن و چاپ. Developing find and print operation.

کارایی الگوریتم Efficiency of Algorithm

  • Big-Oh ادامه دهید. Big-Oh continue.

  • چند مثال دیگر در مورد محاسبه Big-Oh Some more example on calculating Big-Oh

کارایی الگوریتم Efficiency of Algorithm

  • کارایی الگوریتم - مقدمه ای بر مفهوم. Efficiency of Algorithm - Introduction to the concept.

  • کارایی الگوریتم - مقدمه ای بر مفهوم. Efficiency of Algorithm - Introduction to the concept.

  • رویکرد ریاضی برای تخمین بازده. Mathematical Approach for estimating the efficiency.

  • رویکرد ریاضی برای تخمین بازده. Mathematical Approach for estimating the efficiency.

  • نماد Big-Oh - تخمین پیچیدگی در بدترین حالت. Big-Oh notation - estimating worst case complexity.

  • نماد Big-Oh - تخمین پیچیدگی در بدترین حالت. Big-Oh notation - estimating worst case complexity.

  • نحوه محاسبه Big-Oh برای توضیح الگوریتم داده شده با مثال. How to calculate Big-Oh for a given algorithm explanation with example.

  • نحوه محاسبه Big-Oh برای توضیح الگوریتم داده شده با مثال. How to calculate Big-Oh for a given algorithm explanation with example.

  • Big-Oh ادامه دهید. Big-Oh continue.

  • چند مثال دیگر در مورد محاسبه Big-Oh Some more example on calculating Big-Oh

  • ایده بهترین پیچیدگی مورد - نماد امگا بزرگ. Idea of Best case complexity - Big Omega notation.

  • ایده بهترین پیچیدگی مورد - نماد امگا بزرگ. Idea of Best case complexity - Big Omega notation.

  • ایده میانگین پیچیدگی مورد - نماد تتا بزرگ. Idea of Average case complexity - Big theta notation.

  • ایده میانگین پیچیدگی مورد - نماد تتا بزرگ. Idea of Average case complexity - Big theta notation.

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

  • پیاده سازی و بدترین پیچیدگی جستجوی باینری. Implementation and worst case complexity of Binary Search.

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

  • روش جستجوی دودویی را درک کنید. Understand binary search procedure.

  • روش جستجوی دودویی را درک کنید. Understand binary search procedure.

  • پیاده سازی و بدترین پیچیدگی جستجوی باینری. Implementation and worst case complexity of Binary Search.

بازگشت Recursion

  • معرفی بخش. Introduction to the Section.

  • بیایید با مفهوم اصلی بازگشت شروع کنیم. Lets start with the basic concept of Recursion.

  • مثال بازگشتی 1 - دنباله شعبده باز. Recursion Example 1 - Juggler Sequence.

  • بازگشتی مثال 4 - اعشاری به باینری Recursion Example 4 - Decimal to Binary

بازگشت Recursion

  • معرفی بخش. Introduction to the Section.

  • بیایید با مفهوم اصلی بازگشت شروع کنیم. Lets start with the basic concept of Recursion.

  • زمان و نحوه خاتمه - شرط اصلی Recursion. When and how to terminate - the base condition of Recursion.

  • زمان و نحوه خاتمه - شرط اصلی Recursion. When and how to terminate - the base condition of Recursion.

  • اجازه دهید به عمق تماس برویم. Let us go into deep of the call.

  • اجازه دهید به عمق تماس برویم. Let us go into deep of the call.

  • مثال بازگشتی 1 - دنباله شعبده باز. Recursion Example 1 - Juggler Sequence.

  • بازگشتی مثال 2 - یافتن فاکتوریل. Recursion Example 2 - Finding Factorial.

  • بازگشتی مثال 2 - یافتن فاکتوریل. Recursion Example 2 - Finding Factorial.

  • بازگشتی مثال 3 - جستجوی باینری Recursion Example 3 - Binary Search

  • بازگشتی مثال 3 - جستجوی باینری Recursion Example 3 - Binary Search

  • بازگشتی مثال 4 - اعشاری به باینری Recursion Example 4 - Decimal to Binary

  • فراخوانی یک تابع - سیستم عامل پشته ایجاد می کند. Calling a function - Operating System creates stack.

  • فراخوانی یک تابع - سیستم عامل پشته ایجاد می کند. Calling a function - Operating System creates stack.

  • زمانی که نیازی به پشته نباشد. When there is no need of stack.

  • زمانی که نیازی به پشته نباشد. When there is no need of stack.

  • بازگشت دم Tail Recursion

  • بازگشت دم Tail Recursion

  • بازگشت در مقابل تکرار - قسمت 1 Recursion Vs Iteration - Part 1

  • بازگشت در مقابل تکرار - قسمت 1 Recursion Vs Iteration - Part 1

  • بازگشت در مقابل تکرار - قسمت 2 وقتی رویکرد بازگشتی بهتر از تکرار است Recursion Vs Iteration - Part 2 When recursive approach is better than iteration

  • بازگشت در مقابل تکرار - قسمت 2 وقتی رویکرد بازگشتی بهتر از تکرار است Recursion Vs Iteration - Part 2 When recursive approach is better than iteration

آموزش اضافی - درخت باینری و درخت جستجوی دودویی. Additional Learning - Binary Tree and Binary Search Tree.

  • آشنایی با اصطلاحات مختلف مرتبط با درخت باینری Understanding different terminologies related with Binary tree.

  • پیمایش یک درخت باینری با استفاده از الگوریتم پیمایش پس از سفارش Traversing a binary tree using Post-order traversal algorithm.

  • چگونه ساختار یک گره را برای یک درخت باینری تعریف کنیم. How to define structure of a Node for a Binary Tree.

  • اجازه دهید درخت جستجوی باینری را درک کنیم. Let us understand Binary Search Tree.

  • اجرای عملیات درج برای درخت جستجوی باینری. Implementation of insert operation for a Binary Search Tree.

  • پیاده سازی پیمایش در ترتیب برای درخت جستجوی باینری. Implementation of In-Order traversal for a Binary Search Tree.

آموزش اضافی - درخت باینری و درخت جستجوی دودویی. Additional Learning - Binary Tree and Binary Search Tree.

  • مقدمه ای بر درخت دودویی. Introduction to Binary Tree.

  • مقدمه ای بر درخت دودویی. Introduction to Binary Tree.

  • آشنایی با اصطلاحات مختلف مرتبط با درخت باینری Understanding different terminologies related with Binary tree.

  • نحوه پیمایش یک درخت باینری - پیمایش به ترتیب How to traverse a Binary Tree - In-order traversal

  • نحوه پیمایش یک درخت باینری - پیمایش به ترتیب How to traverse a Binary Tree - In-order traversal

  • پیمایش یک درخت باینری با استفاده از الگوریتم پیمایش پیش سفارش. Traversing a Binary tree using Pre-order traversal algorithm.

  • پیمایش یک درخت باینری با استفاده از الگوریتم پیمایش پیش سفارش. Traversing a Binary tree using Pre-order traversal algorithm.

  • پیمایش یک درخت باینری با استفاده از الگوریتم پیمایش پس از سفارش Traversing a binary tree using Post-order traversal algorithm.

  • ساخت یک درخت باینری از لیست پیمایش داده شده. Construction of a Binary Tree from given traversal list.

  • ساخت یک درخت باینری از لیست پیمایش داده شده. Construction of a Binary Tree from given traversal list.

  • چگونه ساختار یک گره را برای یک درخت باینری تعریف کنیم. How to define structure of a Node for a Binary Tree.

  • اجازه دهید درخت جستجوی باینری را درک کنیم. Let us understand Binary Search Tree.

  • اجرای عملیات درج برای درخت جستجوی باینری. Implementation of insert operation for a Binary Search Tree.

  • پیاده سازی پیمایش در ترتیب برای درخت جستجوی باینری. Implementation of In-Order traversal for a Binary Search Tree.

  • اجرای پیمایش قبل و بعد سفارش. Implementation of pre and post order traversal.

  • اجرای پیمایش قبل و بعد سفارش. Implementation of pre and post order traversal.

  • اجرای جستجوی باینری برای درخت جستجوی باینری. Implementation of Binary Search for a Binary Search Tree.

  • اجرای جستجوی باینری برای درخت جستجوی باینری. Implementation of Binary Search for a Binary Search Tree.

  • کد منبع - درخت جستجوی باینری Source Code - Binary Search Tree

  • کد منبع - درخت جستجوی باینری Source Code - Binary Search Tree

پشته Heap

  • مقدمه ای بر این بخش. Introduction to this Section.

  • مفهوم ساختار داده درخت دودویی (بازبینی شده) Concept of Binary Tree Data Structure (Revisited)

  • نمایش درخت دودویی تقریباً کامل با استفاده از آرایه 1 بعدی Representation of Almost Complete Binary Tree Using 1-D Array

  • درج در Heap Insertion into Heap

  • حذف یک عنصر از Heap Delete an element from Heap

  • عملیات Heapify - ساخت پشته از یک آرایه یک بعدی دلخواه. Heapify operation - Constructing heap from an arbitrary one dimensional array.

پشته Heap

  • مقدمه ای بر این بخش. Introduction to this Section.

  • مفهوم ساختار داده درخت دودویی (بازبینی شده) Concept of Binary Tree Data Structure (Revisited)

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

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

  • نمایش درخت دودویی تقریباً کامل با استفاده از آرایه 1 بعدی Representation of Almost Complete Binary Tree Using 1-D Array

  • تعریف رسمی هیپ Formal Definition of Heap

  • تعریف رسمی هیپ Formal Definition of Heap

  • درج در Heap Insertion into Heap

  • حذف یک عنصر از Heap Delete an element from Heap

  • عملیات تنظیم هیپ Heap Adjust Operation

  • عملیات تنظیم هیپ Heap Adjust Operation

  • عملیات Heapify - ساخت پشته از یک آرایه یک بعدی دلخواه. Heapify operation - Constructing heap from an arbitrary one dimensional array.

  • الگوریتم مرتب سازی هیپ Heap Sort Algorithm

  • الگوریتم مرتب سازی هیپ Heap Sort Algorithm

  • پیاده سازی مرتب سازی هیپ با استفاده از زبان C. Implementation of Heap Sort using C Language.

  • پیاده سازی مرتب سازی هیپ با استفاده از زبان C. Implementation of Heap Sort using C Language.

نمایش نظرات

Udemy (یودمی)

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

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

آموزش ساختارها و الگوریتم های داده بنیادی با استفاده از زبان C.
جزییات دوره
15.5 hours
124
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,567
4.2 از 5
دارد
دارد
دارد
Shibaji Paul
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Shibaji Paul Shibaji Paul

مدرس برنامه نویسی با بیش از 16 سال سابقه