لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
ساختارها و الگوریتم های پیشرفته داده در پایتون [ویدئو]
Advanced Data Structures and Algorithms in Python [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
به عنوان یک توسعه دهنده، مطمئناً در مورد ساختارهای داده و الگوریتم های مختلف شنیده اید. با این حال، آیا تا به حال در مورد آنها و تأثیر آنها بر عملکرد برنامه های خود عمیقاً فکر کرده اید؟ اگر نه، وقت آن رسیده که نگاهی به این موضوع بیندازید، و این دوره راهنمای یک مرحله ای برای تسلط بر آن است!
این دوره تئوری و کاربردهای لازم را برای درک درست الگوریتم های پیشرفته و ساختارهای داده ای که برای مسائل مختلف حیاتی هستند و نحوه پیاده سازی آنها را به شما آموزش می دهد. ما همچنین به صورت عملی پیش می رویم و نکات و ترفندهایی را برای بهینه سازی، شناسایی رویکردهای مناسب و ارائه توضیحات قانع کننده ارائه خواهیم کرد. و، شما همه آن را در یک زبان مدرن، محبوب و کاملاً مستند دریافت خواهید کرد: Python. در نهایت، شما یاد خواهید گرفت که چگونه الگوریتم های پیچیده ای را توسعه دهید که به راحتی قابل درک، اشکال زدایی و استفاده مجدد در برنامه های مختلف باشد.
در پایان دوره، میدانید که چگونه الگوریتمهای پیچیدهای را توسعه دهید که به راحتی قابل درک، اشکالزدایی و قابل استفاده مجدد در برنامههای مختلف باشد. مهارت های حل مسئله خود را با یادگیری نحوه برخورد با برخی مسائل خارج از چارچوب بهبود دهید
توسعه الگوریتم ها و راه حل های جدید برای مسائل با ترکیب الگوریتم های دیگر به روش های خلاقانه
پیاده سازی های تمیزی بنویسید که با بهره گیری از نکات و ترفندهای مختلف، زمان اجرای الگوریتم را به میزان قابل توجهی بهبود می بخشد.
با کشف اینکه چگونه آنها (احتمالا) شروع به کار کرده اند و یاد بگیرید که چگونه در آینده دچار سوءتفاهمات مشابه نشوید، از برخی تصورات نادرست که در فضای مجازی پخش می شوند اجتناب کنید.
دریابید که چرا الگوریتم ها چیزهایی ترسناک نیستند که اساتید و مصاحبه کنندگان برای ترساندن مردم از آنها استفاده می کنند این دوره برای توسعه دهندگانی است که دانش اولیه برنامه نویسی در پایتون دارند و به دنبال یادگیری الگوریتم های پیشرفته و ساختارهای داده ای هستند که می توانند در پایتون در برنامه های مختلف از جمله استفاده شوند. راه حل های وب و موبایل موضوعات ارائه شده در اینجا برای برنامه نویسان با سطوح مختلف تجربه مناسب است. روی توضیحات شهودی و پیاده سازی های تمیز تمرکز کنید * بدون ریاضیات انتزاعی و بدون کد مبهم که بینش کمی ارائه می دهد * کشف کنید که چگونه چندین مفهوم شناخته شده را کنار هم قرار دهید تا راه حلی برای مشکلی که قبلاً ندیده اید پیدا کنید * Deve به تکنیکهای طراحی و پیادهسازی کارآمد برای برآورده کردن نیازهای نرمافزاری شما * دانش خود را در مورد الگوریتمها و ساختارهای داده با یادگیری مفاهیمی که در هیچ جای دیگری به خوبی سازماندهی نشدهاند، غنی کنید.
سرفصل ها و درس ها
انجام کار زیاد با خیلی کم
Doing a Lot with Very Little
بررسی اجمالی دوره
The Course Overview
از آهسته آهسته تا بهینه: زیر مجموعه حداکثر جمع
From Painfully Slow to Optimal: The Maximum Sum Subarray
فاکتوریل را با عدد صفر معین پیدا کنید
Find the Factorial with a Given Number of Zeros
زیر مجموعه طول داده شده را با حداکثر حداقل پیدا کنید
Find the Given-Length Subarray with the Maximum Minimum
مشکلات آرایه شامل مدول ها
Array Problems Involving Modulos
ریاضی مفید: اصل شمول-حذف
Useful Math: The Inclusion-Exclusion Principle
الگوریتم های پیچیده تر روی آرایه ها
More Complex Algorithms on Arrays
رول هش برای ساختن یک پالیندروم
Rolling Hashes for Constructing a Palindrome
شمارش کارآمد زیرآرایه ها با جمع داده شده
Efficiently Counting Subarrays with a Given Sum
جستجوی دودویی برای طول بهینه زیرآری
Binary Searching for an Optimal Subarray Length
الگوریتم Manacher
Manacher's Algorithm
بهینه سازی غربال اراتوستن
Optimizing the Sieve of Eratosthenes
الگوریتم های بازگشتی عمومی
General Recursive Algorithms
برج های هانوی با چهار میخ
The Towers of Hanoi with Four Pegs
ارزیابی عبارات حسابی با تجزیه کننده نزولی بازگشتی
Evaluating Arithmetic Expressions with a Recursive Descent Parser
توان ماتریسی و توابع فیبوناچی
Matrix Exponentiation and Fibonacci-Like Functions
مجموع قدرت ها
A Sum of Powers
پیدا کردن جایگشت با یک خاصیت داده شده
Finding a Permutation with a Given Property
برنامه نویسی پویا
Dynamic Programming
DP چیست؟
What Is DP?
مسیر حداقل جمع در یک ماتریس
The Minimum Sum Path in a Matrix
یک مسیر جمع حداقلی پیچیده تر در یک ماتریس
A More Complex Minimum Sum Path in a Matrix
شمارش روش های رنگ آمیزی حصار
Counting the Number of Ways to Paint a Fence
شمارش افزایش دنباله ها
Counting Increasing Subsequences
برنامه نویسی پویا پیشرفته
Advanced Dynamic Programming
شمارش مجموع رقمی قابل تقسیم بر d
Counting Digit Sums Divisible by d
محدوده حداقل پرس و جو با DP
Range Minimum Queries with DP
یکی دیگر از مشکلات مسیر ماتریس
Another Matrix Path Problem
برنامه نویسی پویا روی درختان
Dynamic Programming on Trees
TSP و الگوریتم Held-Karp
TSP and the Held-Karp Algorithm
ساختارهای داده مبتنی بر درخت
Tree-Based Data Structures
درختان بخش و مشکل RMQ
Segment Trees and the RMQ Problem
درختان را با بهروزرسانیهای تنبل تقسیم کنید
Segment Trees with Lazy Updates
درختان باینری ایندکس شده
Binary Indexed Trees
درختان باینری ایندکس شده برای مسئله RMQ
Binary Indexed Trees for the RMQ Problem
تپه ها
Treaps
الگوریتم های نظریه گراف
Graph Theory Algorithms
پایین ترین جد مشترک
The Lowest Common Ancestor
کوتاه ترین راه و بازگشت
The Shortest Path and Back
ولاد یک مدرس دانشگاه با مدرک دکترا است. در یادگیری ماشین و مهندس نرم افزار آزاد. او بیش از 10 سال تجربه تدریس علوم کامپیوتر در نقش های مختلف دارد: معلم مدرسه، معلم خصوصی، مربی کارآموزی، TA دانشگاه، و مدرس. در طول سالها، Vlad با اکثر فناوریهای پیشرفته در زمینههایی مانند توسعه frontend، طراحی و مدیریت پایگاه داده، برنامهنویسی Backend و یادگیری ماشین کار کرده است.
نمایش نظرات