آموزش مقدمه ای بر ساختارها و الگوریتم های داده در 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 ++
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
3h 29m
52
Pluralsight (پلورال سایت) pluralsight-small
16 مهر 1397 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
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 + را برگزار کرده است.

Pluralsight (پلورال سایت)

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

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