آموزش ساختارها و الگوریتم های داده بنیادی با استفاده از زبان 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.

  • چند مثال عملی که در آن از 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 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. 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

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

نماد لهستانی و نماد لهستانی معکوس. 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.

نماد لهستانی و نماد لهستانی معکوس. 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.

همه چیز در مورد صف 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.

همه چیز در مورد صف 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.

لیست پیوند شده 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

لیست پیوند شده 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.

لیست تک پیوندی 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

لیست تک پیوندی 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

لیست پیوندی دوگانه 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.

لیست پیوندی دوگانه 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.

فهرست پیوندی دایره ای 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.

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

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

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

کارایی الگوریتم 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.

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

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

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

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

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

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

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

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

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

بازگشت 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

بازگشت 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

آموزش اضافی - درخت باینری و درخت جستجوی دودویی. 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

آموزش اضافی - درخت باینری و درخت جستجوی دودویی. 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.

پشته 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.

پشته 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.

نمایش نظرات

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

آموزش ساختارها و الگوریتم های داده بنیادی با استفاده از زبان C.
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
15.5 hours
124
Udemy (یودمی) udemy-small
03 اردیبهشت 1399 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
6,567
4.2 از 5
دارد
دارد
دارد
Shibaji Paul

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Shibaji Paul Shibaji Paul

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

Udemy (یودمی)

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

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