- عنوان کتاب: A Common-Sense Guide to Data Structures and Algorithms in Python -Level Up Your Core Programming Skills, Volume 2
- نویسنده: Jay Wengrow
- حوزه: ساختمان داده, برنامهنویسی پایتون
- سال انتشار: 2025
- تعداد صفحه: 699
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 14.1 مگابایت
روزهای نرمافزارهای کند مدتهاست که گذشته است. مردم انتظار دارند فناوری آنها سریع باشد، و منظورم واقعاً سریع است. طبق یک مطالعه، بیش از نیمی از کاربران وبسایتهای موبایل اگر بارگذاری سایت بیش از سه ثانیه طول بکشد، آن را رها میکنند. مطالعه دیگری گزارش میدهد که به ازای هر ثانیهای که بارگذاری یک صفحه وب طول میکشد، رضایت کاربر ۱۶ درصد کاهش مییابد. در عین حال، مردم همچنین میخواهند فناوری آنها حتی روی کوچکترین دستگاهها نیز جا شود. چه یک تلفن هوشمند باشد که به راحتی در جیب شما جای میگیرد و چه یک ساعت هوشمند که روی مچ دست شما قرار میگیرد، مردم میخواهند رایانههای خود را هر کجا که میروند با خود ببرند. و آنها نمیخواهند این دستگاهها از یک رایانه رومیزی کامل، توانایی کمتری داشته باشند. با این حال، برای اینکه برنامهها روی چنین دستگاههای کوچکی کار کنند، آن برنامهها باید کمترین حافظه ممکن را مصرف کنند. کلید نوشتن نرمافزاری که هم سریع و هم از نظر حافظه کارآمد باشد، تسلط بر ساختارهای داده و الگوریتمها است. طراحی الگوریتم «درست» معمولاً شامل ترکیبی از دانش، نبوغ و پشتکار است. این کتاب جایی است که شما دانش لازم را کسب خواهید کرد. همانطور که ممکن است از عنوان متوجه شده باشید، این جلد، جلد دوم از یک مجموعه است. در کتاب «راهنمای عقل سلیم برای ساختمان دادهها و الگوریتمها در پایتون، جلد ۱»، مفاهیم بنیادی را پوشش دادم. اگر آن جلد را خواندهاید یا مفاهیم آن را میدانید، چیزهای زیادی میدانید! اما اکنون زمان آن رسیده است که سطح خود را ارتقا دهید. نه تنها طیف گستردهای از الگوریتمها و ساختمان دادههای جدید را یاد خواهید گرفت، بلکه در تحلیل و طراحی الگوریتم نیز پیچیدهتر خواهید شد. در حال حاضر کتابهایی در مورد این موضوعات نوشته شده است. با این حال، اگر هر یک از آنها را خوانده باشید، ممکن است با همان مشکلی که من داشتم مواجه شده باشید: درک آنها دشوار است! این فقط مشکل شما نیست – من هم میتوانم خودم را در حال خواندن و دوباره خواندن یک پاراگراف در چنین کتابی بارها و بارها ببینم تا اینکه متوجه شوم چه اتفاقی دارد میافتد. بسیاری از توسعهدهندگان از تلاش برای یادگیری این مفاهیم دست کشیدهاند، زیرا احساس میکنند که قادر به درک چنین ایدههای پیچیدهای نیستند. اما نکته اینجاست. بله، این مفاهیم پیچیده هستند. اما هر مفهوم پیچیدهای از ترکیبی از مفاهیم ساده تشکیل شده است. تسلط بر ساختمان دادهها و الگوریتمها فراتر از هر کسی نیست. این موضوع فقط باید به درستی آموزش داده شود. کل نکتهی این کتاب همین است. من تمام سر نخهای هر مفهوم پیچیده را از تار و پود آن بیرون کشیدهام و برای شما آماده کردهام. با ارائهی هر سر نخ به صورت جداگانه و با ترتیب صحیح، این ایدهها را به شما آموزش میدهم تا بتوانید آنها را به راحتی و به وضوح درک کنید. نکتهی مهم این است که صدها نمودار، همگی واضح و زیبا، وجود دارد که به روشن شدن هر مفهوم برای یادگیرندهی بصری کمک میکند. در نهایت، در طول مسیر بسیار سرگرم خواهید شد. من به سبکی غیررسمی مینویسم و هر زمان که ویراستارم اجازه دهد، جوک میگویم. گاهی اوقات، جوکها حتی خندهدار هستند.
The days of slow software are long gone. People expect their technology to be fast, and I mean really fast. According to one study, more than half of mobile website users will abandon a site if it takes more than three seconds to load. Another study reports that for every second a web page takes to load, user satisfaction goes down by 16 percent. At the same time, people also want their technology to fit on even the smallest of devices. Whether it’s a smartphone that fits easily into your pocket or a smartwatch that fits on your wrist, people want to bring their computers wherever they go. And they don’t want these devices to be any less capable than a full-fledged desktop computer. However, to get apps to work on such small devices, those apps must consume the least memory possible. The key to writing software that’s both fast and memory-efficient is the mastery of data structures and algorithms. Designing the “right” algorithm usually involves a combination of knowledge, ingenuity, and persistence. This book is where you’ll gain the knowledge. As you may have gathered from the title, this volume is the second in a series. In A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1, I covered the foundational concepts. If you’ve read that volume or already know the concepts therein, you already know a lot! But now it’s time to level up. Not only will you learn a wide variety of new algorithms and data structures, but you’ll also become more sophisticated in algorithmic analysis and design. There are already books written on these subjects. However, if you’ve read any of them, you may have encountered the same problem I did: they’re hard to understand! It’s not just you—I can find myself reading and rereading the same paragraph in such a book many times before I get an inkling of what’s going on. Many a developer has given up trying to learn these concepts, feeling incapable of grasping such complex ideas. But here’s the thing. Yes, these concepts are complex. But every complex concept is made up of a combination of simple concepts. It’s not beyond anyone to master data structures and algorithms. The subject just needs to be taught correctly. That’s the entire point of this book. I’ve pulled every thread from the tapestry of each complex concept and laid them all out for you. By presenting each thread individually and in the correct sequence, I’ll teach you these ideas so that you’ll grasp them easily and clearly. Critically, there are literally hundreds of diagrams, all clear and beautiful, which will help clarify each concept for the visual learner. Finally, you’ll have a lot of fun along the way. I write in an informal style and crack jokes whenever my editor lets me. Sometimes, the jokes are even funny.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: A Common-Sense Guide to Data Structures and Algorithms in Python

نظرات کاربران