- عنوان کتاب: Data structures and Algorithms with python
- نویسنده: Kent D. Lee
- حوزه: برنامه نویسی پایتون
- سال انتشار: 2024
- تعداد صفحه: 400
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 9.58 مگابایت
از انتخاب ساختارهای داده و الگوریتم ها با پایتون متشکریم. این متن بر اساس یادداشت های کلاس درس برای دو درس، یک دوره مقدماتی ساختار داده ها و الگوریتم ها و یک دوره ساختار داده ها و الگوریتم های پیشرفته نوشته شده است. مطالب موجود در این متن در دو ترم قابل تدریس است. فصل های اولیه این متن به عنوان متنی مقدماتی برای ساختارهای داده و الگوریتم ها در نظر گرفته شده است در حالی که فصل های آخر موضوعات پیشرفته ای را پوشش می دهند که برای دوره دوم مناسب هستند. زبان پایتون در سراسر متن استفاده می شود و آشنایی با پایتون یا زبان شی گرا دیگر فرض می شود. با این حال، فصل اول شامل یک پرایمر پایتون برای کسانی است که از پس زمینه زبانی متفاوتی می آیند. این متن به خوبی به عنوان یک متن بعدی برای اصول برنامهنویسی پایتون توسط کنت دی. لی و منتشر شده توسط Springer عمل میکند، اما نیازی به خواندن آن متن ندارد. در این متن، مراحل بعدی برای آموزش نحوه مدیریت کارآمد حجم زیادی از داده ها برداشته شده است. تعدادی الگوریتم معرفی شدهاند و نیاز به آنها از طریق مثالهایی ایجاد میشود که به مشکلاتی که ما بهعنوان برنامهنویس کامپیوتر با آن مواجه هستیم معنا میبخشند. الگوریتم یک روش کاملاً تعریف شده برای انجام یک کار است. الگوریتمها بخش مهمی از علوم کامپیوتر هستند، و این متن الگوریتمهای زیادی را بررسی میکند تا پسزمینهای را که هنگام نوشتن برنامههای خودتان نیاز دارید، به شما ارائه دهد. هدف این است که با مشاهده برخی از انواع الگوریتم های ارائه شده در این متن، بتوانید این تکنیک ها را در برنامه های دیگری که در آینده می نویسید به کار ببرید. هدف دیگر این متن این است که شما را با ایده پیچیدگی محاسباتی آشنا کند. در حالی که بسیاری از الگوریتمهای منحصر به فرد و جالبی وجود دارد که میتوانیم آنها را بررسی کنیم، مهم است که بدانیم برخی از الگوریتمها کارآمدتر از بقیه هستند. در حالی که رایانهها در انجام سریع محاسبات بسیار خوب هستند، یک الگوریتم ناکارآمد میتواند باعث کند سریعترین رایانه بسیار کند به نظر برسد یا حتی باعث توقف آن شود. این متن به شما نشان می دهد که چه چیزی را می توان و چه چیزی را نمی توان به طور موثر محاسبه کرد. متن این ایده کارایی را از ابتداییترین حقایق میسازد و ابزارهایی را که برای تعیین میزان کارآمدی هر الگوریتمی به آن نیاز دارید، به شما میدهد تا بتوانید درباره برنامههایی که مینویسید قضاوت آگاهانه داشته باشید. در حال حاضر دو فصل جدید با کتاب برنامه نویسی موازی با استفاده از چند پردازش همراه است. یک API که بتواند از بارهای کاری پویا امروزی پشتیبانی کند ضروری است و API چند پردازشی Python برای این منظور طراحی شده است. در حالی که دو فصل پایانی اختیاری هستند، مفاهیم معرفی شده در این فصل ها به خوبی به عنوان سنگ بنای یک دوره آموزشی ساختارهای داده و الگوریتم های پیشرفته عمل می کنند. متن فرض می کند که شما تجربه قبلی در برنامه نویسی رایانه دارید، احتمالاً از یک دوره مقدماتی برنامه نویسی که در آن یاد گرفتید مسائل ساده را به مراحلی تقسیم کنید که می تواند توسط رایانه حل شود. زبانی که استفاده کردید ممکن است پایتون بوده باشد، اما نه لزوما. پایتون یک زبان عالی برای متن در ساختار داده ها و الگوریتم ها است، خواه قبلاً از آن استفاده کرده باشید یا نه. پایتون یک زبان برنامه نویسی شی گرا با بارگذاری بیش از حد اپراتور و تایپ پویا است. چه این اولین تماس شما با پایتون باشد و چه در اولین دوره آموزشی خود از آن استفاده کرده اید، از این متن بیشتر در مورد زبان یاد خواهید گرفت. فصل اول متن برخی از اصول برنامه نویسی کامپیوتر را به همراه نحو اولیه پایتون مرور می کند تا شما را در این زبان به سرعت بشناساند. سپس فصل های بعدی به موضوعات پیشرفته تر می پردازند و باید به ترتیب خوانده شوند.
Thanks for choosing Data Structures and Algorithms with Python. This text was written based on classroom notes for two courses, an introductory data structures and algorithms course and an advanced data structures and algorithms course. The material contained in this text can be taught in two semesters. The early chapters in this text are intended as an introductory text for data structures and algorithms while the latter chapters cover advanced topics that are suitable for a second course. The Python language is used throughout the text, and some familiarity with Python or some other object-oriented language is assumed. However, the first chapter contains a Python primer for those coming from a different language background. This text serves well as a follow-on text to Python Programming Fundamentals by Kent D. Lee and published by Springer, but does not require you to have read that text. In this text, the next steps are taken to teach you how to handle large amounts of data efficiently. A number of algorithms are introduced, and the need for them is motivated through examples that bring meaning to the problems we face as computer programmers. An algorithm is a well-defined procedure for accomplishing a task. Algorithms are an important part of Computer Science, and this text explores many algorithms to give you the background you need when writing programs of your own. The goal is that having seen some of the sorts of algorithms presented in this text, you will be able to apply these techniques to other programs you write in the future. Another goal of this text is to introduce you to the idea of computational complexity. While there are many unique and interesting algorithms that we could explore, it is important to understand that some algorithms are more efficient than others. While computers are very good at doing calculations quickly, an inefficient algorithm can make the fastest computer seem very slow or even make it appear to come to a halt. This text will show you what can and cannot be computed efficiently. The text builds this idea of efficiency from the most basic of facts giving you the tools you’ll need to determine just how efficient any algorithm is so you can make informed judgements about the programs you write. Two new chapters are now included with the book on parallel programming using multiprocessing. An API that can support today’s demanding dynamic workloads is essential, and the Python multiprocessing API was designed for this purpose. While the final two chapters are optional, the concepts introduced in these chapters work well as a capstone to an advanced data structures and algorithms course. The text assumes that you have some prior experience in computer programming, probably from an introductory programming course where you learned to break simple problems into steps that could be solved by a computer. The language you used may have been Python, but not necessarily. Python is an excellent language for a text on data structures and algorithms whether you have used it before or not. Python is an object-oriented programming language with operator overloading and dynamic typing. Whether this is your first exposure to Python or you used it in your first course, you’ll learn more about the language from this text. The first chapter of the text reviews some of the fundamentals of computer programming along with the basic syntax of Python to get you up to speed in the language. Then subsequent chapters dive into more advanced topics and should be read in sequence.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
نظرات کاربران