توضیحات تکمیلی
یادگیری مفاهیم ساختمان دادهها برای یک برنامهنویس باعث افزایش تسلط بیشتر در نوشتن برنامههای کاراتر میشود. یک برنامهنویس با آشنایی با ویژگیهای ساختمان دادههای مختلف و تکنیکهای الگوریتمنویسی قادر خواهد بود که برنامههایی با زمان بهتر و مصرف کمتر حافطه بنویسد. البته ساختمان داده از دروس پایهای دانشگاهی است که پیشنیاز دروس مختلف رشته کامپیوتر است و میتواند به جای زبان سی و زبان سیپلاسپلاس با زبان پایتون آموزش داده شود. در این آموزش، ابتدا مفاهیم به صورت تئوری بررسی شده و سپس در محیط برنامهنویسی پایتون پیادهسازی میشوند.
هدف از ارائه مفاهیم ساختمان دادهها با زبان پایتون، سادگی برنامهنویسی با پایتون، پرکاربرد بودن آن و داشتن کتابخانههای زیاد و متنوع است. پایتون دارای ساختمان دادههای درونی مانند: لیست، مجموعه، تاپل و دیکشنری است و ساختمان دادههای دیگر نیز به راحتی در آن قابل پیادهسازی است.
مخاطب بعد از دیدن این آموزش، قادر خواهد بود با ساختمان دادههای آرایه، پشته، صف، لیست پیوندی، درخت و گراف کار کند و همچنین به تکنیکهای الگوریتمنویسی تقسیم و حل، پویا و حریصانه آشنا شود. از مباحث دیگری که مخاطب با آن آشنا میشود، نحوه محاسبه مرتبه اجرایی الگوریتمها و نوشتن رابطه بازگشتی و حل آنها برای الگوریتمهای بازگشتی است.
فهرست سرفصلها و رئوس مطالب مطرح شده در اين مجموعه آموزشی، در ادامه آمده است:
- فصل یکم: پیچیدگی اجرایی
- درس یکم: نماد O
- درس دوم: مرتبه اجرایی توابع چندجملهای
- درس سوم: نماد امگا و تتا
- درس چهارم: خواص توابع رشد
- درس پنجم: بررسی چند مثال مرتبه اجرایی
- درس ششم: بررسی چند مثال مقایسه دو روش معمولی و سریع
- درس هفتم: معرفی محیط Colab
- درس هشتم: کدنویسی با پایتون
- درس نهم: کدنویسی با پایتون – مرتبه خطی
- درس دهم: کدنویسی با پایتون – مرتبه 2
- درس یازدهم: معرفی پکیج Big-O
- فصل دوم: ساختمان دادههای داخلی پایتون
- درس دوازدهم: رشته – متدهای کار با رشته
- درس سیزدهم: لیست – متدهای کار با لیست
- درس چهاردهم: دیکشنری – متدهای کار با دیکشنری
- درس پانزدهم: تاپل (Tuple)
- درس شانزدهم: مجموعه – متدهای کار با مجموعه
- فصل سوم: صف (Queue)
- درس هفدهم: پیادهسازی صف ساده
- درس هجدهم: پیادهسازی صف چرخشی
- درس نوزدهم: پیادهسازی صف ساده با پایتون
- درس بیستم: پیادهسازی صف چرخشی با پایتون
- درس بیستویکم: پیادهسازی صف با پکیج Pygorithm
- فصل چهارم: پشته (Stack)
- درس بیستودوم: پیادهسازی پشته
- درس بیستوسوم: تبدیل از مبنای ده به دو – معکوس کردن لیست به کمک پشته
- درس بیستوچهارم: کار عملی با پشته
- درس بیستوپنجم: کار عملی با پشته – نوشتن برنامه Match به کمک پشته
- درس بیستوششم: کار عملی با پشته – معکوس کردن محتویات فایل به کمک پشته
- فصل پنجم: نگارشهای مختلف عبارت
- درس بیستوهفتم: عبارات میانوندی، پیشوندی و پسوندی
- درس بیستوهشتم: تبدیل نگارشها به یکدیگر
- درس بیستونهم: کار عملی – تابع ارزشیابی عبارات پسوندی
- درس سیام: کار عملی – تابع تبدیل پسوندی به میانوندی
- درس سیویکم: کار عملی – تابع تبدیل میانوندی به پسوندی
- فصل ششم: توابع بازگشتی (Recursion)
- درس سیودوم: فاکتوریل – جستجوی دودویی
- درس سیوسوم: فیبوناچی (Fibonacci)
- درس سیوچهارم: محاسبه مجموع اعداد لیست
- درس سیوپنجم: رشته پالیندروم (Palindrome)
- درس سیوششم: برج هانوی (Hanoi)
- درس سیوهفتم: آکرمان (Ackermann)
- درس سیوهشتم: کار عملی – نوشتن تابع جستجوی دودویی
- درس سیونهم: کار عملی – نوشتن تابع برج هانوی
- درس چهلم: کار عملی – نوشتن تابع آکرمان
- درس چهلویکم: کار عملی – نوشتن تابع مثلث پاسکال
- فصل هفتم: روشهای حل رابطههای بازگشتی
- درس چهلودوم: روش تکرار با جایگذاری
- درس چهلوسوم: درخت بازگشت
- درس چهلوچهارم: قضیه اصلی
- فصل هشتم: لیست پیوندی یکطرفه
- درس چهلوپنجم: معرفی لیست پیوندی
- درس چهلوششم: درج در لیست پیوندی یکطرفه
- درس چهلوهفتم: حذف در لیست پیوندی یکطرفه
- درس چهلوهشتم: کار عملی با لیست پیوندی
- فصل نهم: لیست پیوندی دوطرفه
- درس چهلونهم: پیادهسازی لیست پیوندی
- درس پنجاهم: درج در لیست پیوندی دوطرفه
- درس پنجاهویکم: حذف از لیست پیوندی یکطرفه
- درس پنجاهودوم: کار عملی با لیست پیوندی دوطرفه
- فصل دهم: لیست پیوندی چرخشی
- درس پنجاهوسوم: لیست پیوندی چرخشی
- درس پنجاهوچهارم: کار عملی با لیست پیوندی چرخشی
- فصل یازدهم: درخت
- درس پنجاهوپنجم: مفاهیم اولیه در رابطه با درخت دودویی
- درس پنجاهوششم: روشهای پیمایش درخت دودویی
- درس پنجاهوهفتم: تعریف کلاس برای درخت دودویی
- درس پنجاهوهشتم: نوشتن تابعهای پیمایش درخت دودویی
- درس پنجاهونهم: پیادهسازی عملی درخت دودویی
- فصل دوازدهم: درخت جستجوی دودویی (BST)
- درس شصتم: تعریف BST
- درس شصتویکم: ساختن BST
- درس شصتودوم: حذف از BST
- درس شصتوسوم: پیادهسازی نود در BST با پایتون
- درس شصتوچهارم: کار در محیط عملی
- فصل سیزدهم: درخت هیپ (Heap)
- درس شصتوپنجم: تعریف درخت هیپ – پیادهسازی با آرایه
- درس شصتوششم: ساختن درخت هیپ
- درس شصتوهفتم: درج در هیپ
- درس شصتوهشتم: حذف از هیپ – مرتبسازی هیپ
- درس شصتونهم: کار عملی با درخت هیپ
- فصل چهاردهم: گراف
- درس هفتادم: گراف بدون جهت و جهتدار
- درس هفتادویکم: گراف وزندار، کامل، دوقسمتی و زیرگراف
- درس هفتادودوم: نمایش گراف
- درس هفتادوسوم: ماتریس و لیست همجواری
- درس هفتادوچهارم: کار عملی با گراف
- فصل پانزدهم: پیمایش گراف
- درس هفتادوپنجم: انواع پیمایش گراف
- درس هفتادوششم: پیمایش سطحی
- درس هفتادوهفتم: پیمایش عمقی
- درس هفتادوهشتم: کار عملی – پیمایش سطحی و عمقی گراف
- فصل شانزدهم: درخت پوشا
- درس هفتادونهم: تعیین درخت پوشای حداقل با روش کروسکال (Kruskal)
- درس هشتادم: تعیین درخت پوشای حداقل با روش پریم (Prim)
- فصل هفدهم: خلاصه و جمعبندی
- درس هشتادویکم: خلاصه و جمعبندی
مفید برای
- مهندسی کامپیوتر
- برنامهنویسی
نظرات