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

Introduction to Data Structures and Algorithms in C++

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: این دوره مقدماتی به شما می آموزد که چگونه برخی از ساختارهای اساسی داده ها و الگوریتم ها را از ابتدا با C ++ با ترکیبی از مقدمه نظری با استفاده از اسلایدها و کد عملی C ++ پیاده سازی کنید. شناخت برخی از ساختارهای اساسی داده ها و الگوریتم ها هم از لحاظ تئوری و هم از طریق یک اجرای عملی پرسپکتیو به شما در داشتن یک برنامه نویس بهتر C ++ کمک می کند ، پایه خوبی برای درک محتویات استاندارد کتابخانه و الگوریتم های مکانیک "زیر هود" است و به عنوان نوعی دانش که در چندین مصاحبه کدگذاری مورد نیاز است نیز به شما کمک می کند. در این دوره ، مقدمه ای بر ساختارهای داده ها و الگوریتم ها در C ++ ، شما می آموزید که چگونه برخی از ساختارهای اساسی داده ها و الگوریتم ها را در C ++ از ابتدا ، با ترکیبی از مقدمه تئوری با استفاده از اسلایدها ، و کد عملی ++ C نیز اجرا کنید. هیچ دانش قبلی و نظریه الگوریتم داده مورد نیاز نیست. شما فقط به یک دانش اساسی در مورد ویژگی های زبان C ++ نیاز دارید. در ابتدا ، شما می توانید نحوه ایجاد کلاس C ++ را برای استفاده ایمن از آرایه ها ، با مدیریت خودکار حافظه با استفاده از سازنده و تخریب کننده و دسترسی ایمن به عناصر آرایه با بررسی مرزها ، کشف کنید. سپس ، خواهید دید که چگونه می توان این کلاس آرایه را بیشتر بهبود بخشید ، اپراتور درج را بیش از حد بارگذاری کرد تا یک نحو چاپ اصطلاحی ساده برای آرایه ها ارائه دهد و کلاس آرایه را با معنی شناسی حرکت بهینه کنید. همچنین یاد خواهید گرفت که چگونه آرایه ها را به درستی کپی کنید ، و اصطلاح کپی و مبادله را در عمل مشاهده خواهید کرد. سپس ، می آموزید که چگونه کلاس آرایه را با الگوها تعمیم دهید. در مرحله بعدی ، شما با نماد Big O به صورت بصری عملی آشنا خواهید شد و این دانش را در چند الگوریتم جستجو استفاده خواهید کرد. شما یادگیری نحوه جستجو را با استفاده از جستجوی خطی ساده شروع خواهید کرد ، و سپس با استفاده از جستجوی باینری نحوه بهبود جستجو را خواهید دید. من ابتدا این الگوریتم ها را با استفاده از اسلایدها معرفی می کنم و سپس آنها را در حال اجرا در کد آزمایشی C ++ بتن خواهید دید. سرانجام ، شما خواهید فهمید که چگونه سایر ساختارهای داده رایج ، مانند پشته با خط مشی LIFO و عملیات فشار و پاپ ، و لیست های پیوندی ، از جمله کارهایی مانند درج و حذف گره لیست و جستجوی عناصر در یک لیست پیوسته را پیاده سازی کنید. پس از اتمام این دوره ، شما می توانید برخی از ساختارهای بنیادی داده و الگوریتم های رایج را از ابتدا در C ++ پیاده سازی کنید ، شما یک درک عملی از نماد Big O برای ارزیابی و مقایسه روند عملکرد الگوریتم خواهید داشت ، و در عمل خواهید دید چندین روش جالب برنامه نویسی C ++ که قادر خواهید بود از آنها در پروژه های C ++ خود نیز استفاده مجدد کنید. علاوه بر این ، شما قادر خواهید بود با استفاده از این دانش بنیادی به سمت ساختارهای داده و الگوریتم های پیشرفته C ++ پیش بروید.

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

بررسی اجمالی دوره Course Overview

  • بررسی اجمالی دوره Course Overview

با استفاده از آرایه ها با خیال راحت Safely Using Arrays

  • مقدمه Introduction

  • پیش نیازها Prerequisites

  • بررسی اجمالی ماژول Module Overview

  • آرایه چیست؟ What Is an Array?

  • C ++ ساخته شده در آرایه ها و پشته در مقابل تخصیص های پشته C++ Built-in Arrays and Stack vs. Heap Allocations

  • شروع یک سفر پیاده سازی کلاس آرایه اساسی Starting a Basic Array Class Implementation Journey

  • مشاهده یک اشکال در کلاس آرایه Spotting a Bug in the Array Class

  • رفع نشت های حافظه با یک تخریب کننده Fixing Memory Leaks with a Destructor

  • دسترسی به عناصر آرایه با عملگر بیش از حد بارگیری شده [] Accessing Array Elements with Overloaded operator[]

  • اعطای دسترسی فقط خواندنی به عناصر آرایه Granting Read-only Access to Array Elements

  • بررسی مرزها برای دسترسی به عنصر آرایه ایمن Bounds-checking for Safe Array Element Access

  • بررسی آرایه محدودیت ها در عمل Array Index Bounds-checking in Action

  • خلاصه Summary

پیاده سازی آرایه را بهبود ببخشید Improve Array Implementation

  • مقدمه Introduction

  • به راحتی آرایه ها را چاپ می کنید Conveniently Printing Arrays

  • نسخه ی نمایشی: چاپ آرایه ها با اپراتور اضافه بار بیش از حد Demo: Printing Arrays with the Overloaded Insertion Operator

  • نسخه ی نمایشی: یک اشکال ظریف هنگام کپی آرایه ها Demo: A Subtle Bug When Copying Arrays

  • تجزیه و تحلیل اشکال ظریف کپی: کم عمق در مقابل کپی های عمیق Analyzing the Subtle Copy Bug: Shallow vs. Deep Copies

  • با استفاده از سازنده کپی سفارشی ، آرایه ها را با خیال راحت کپی کنید Safely Copying Arrays with a Custom Copy Constructor

  • نسخه ی نمایشی: سازنده کپی آرایه های سفارشی در عمل رفع اشکال کپی Demo: Custom Array Copy Constructor in Action Fixing the Copy Bug

  • بارگذاری بیش از حد اپراتور واگذاری Overloading the Assignment Operator

  • اصطلاح کپی و مبادله The Copy-and-swap Idiom

  • بهینه سازی کلاس آرایه با حرکت معنایی Optimizing the Array Class with Move Semantics

  • تعمیم کلاس آرایه با الگوها Generalizing the Array Class with Templates

  • خلاصه Summary

کارآمد جستجو Efficiently Searching

  • مقدمه Introduction

  • یک الگوریتم ساده و مستقیم: جستجوی خطی A Simple Straightforward Algorithm: Linear Search

  • نسخه ی نمایشی: پیاده سازی جستجوی خطی در ++ C Demo: Implementing Linear Search in C++

  • جستجوی دقیق تر با جستجوی دودویی Smarter Searching with Binary Search

  • نسخه ی نمایشی: پیاده سازی جستجوی دودویی در ++ C Demo: Implementing Binary Search in C++

  • معرفی Big O Notation و مجانی بودن پیچیدگی زمان اجرا Introducing the Big O Notation and Asymptotic Runtime Complexity

  • مقایسه کارایی جستجوی خطی و جستجوی دودویی Comparing the Efficiency of Linear Search vs. Binary Search

  • خلاصه Summary

پیاده سازی الگوی آخرین بار در اولین بار با پشته Implementing a Last-in First-out Pattern with the Stack

  • مقدمه Introduction

  • پشته چیست؟ What Is a Stack?

  • یک برنامه مهم: Call Stack An Important Application: The Call Stack

  • عملیات اساسی پشته Fundamental Stack Operations

  • نسخه ی نمایشی: پیاده سازی اساسی در C ++ Demo: A Basic Stack Implementation in C++

  • نسخه ی نمایشی: Stack in Action Demo: Stack in Action

  • سرریز پشته: چیست و چگونه می توان از کد خود محافظت کرد Stack Overflow: What Is It and How to Protect Your Code

  • نسخه ی نمایشی: سرریز پشته در عمل Demo: Stack Overflow in Action

  • خلاصه Summary

معرفی ساختارهای داده مبتنی بر گره: لیست های پیوند داده شده Introducing Node-based Data Structures: Linked-lists

  • مقدمه Introduction

  • لیست پیوندی چیست؟ What Is a Linked List?

  • لیست های پیوندی در برابر آرایه ها Linked Lists vs. Arrays

  • درج گره جدید در یک لیست پیوندی Inserting a New Node in a Linked List

  • حذف گره از لیست پیوند داده شده Removing a Node from a Linked List

  • مرور لیست پیوندی Traversing a Linked List

  • نسخه ی نمایشی: پیاده سازی لیست پیوندی در ++ C Demo: Implementing a Linked List in C++

  • نسخه ی نمایشی: لیست پیوندی کلاس C ++ در عمل Demo: Linked List C++ Class in Action

  • خلاصه و متشکرم Summary and Thank You

نمایش نظرات

آموزش مقدمه ای بر ساختارها و الگوریتم های داده در C ++
جزییات دوره
3h 29m
52
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
59
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Giovanni Dicanio Giovanni Dicanio

Giovanni Dicanio یک برنامه نویس رایانه ای است که هم در سیستم عامل cross-platform C و C ++ و هم در توسعه سیستم عامل ویندوز متخصص است. جیووانی مقالات برنامه نویسی رایانه ای را در C ++ ، OpenGL و سایر موضوعات برنامه نویسی در مجلات رایانه ای ایتالیا نوشت. وی اخیراً برخی از مقالات ویژگی های C ++ را برای مجله MSDN نیز تألیف کرده است. او همچنین به برخی از پروژه های منبع باز کد کمک کرد. تجربه برنامه نویسی رایانه ای او به روزهای طلایی Commodore 64 و Amiga 500 با حضور Basic و Assembly برمی گردد. جیووانی دوست دارد به افراد در حل مشکلات برنامه نویسی C و C ++ در انجمن هایی از جمله Stack Overflow کمک کند. وی از سال 2007 به دلیل مشارکت در جامعه توسعه C ++ ، ابتدا در گروه های خبری NNTP و سپس در مجامع ، جایزه Microsoft MVP ++ Visual C + را برگزار کرده است.