Learning Algorithms: A Programmer's Guide to Writing Better Code

دانلود کتاب Learning Algorithms: A Programmer's Guide to Writing Better Code

31000 تومان موجود

کتاب الگوریتم های یادگیری: راهنمای برنامه نویس برای نوشتن کد بهتر نسخه زبان اصلی

دانلود کتاب الگوریتم های یادگیری: راهنمای برنامه نویس برای نوشتن کد بهتر بعد از پرداخت مقدور خواهد بود
توضیحات کتاب در بخش جزئیات آمده است و می توانید موارد را مشاهده فرمایید


این کتاب نسخه اصلی می باشد و به زبان فارسی نیست.


امتیاز شما به این کتاب (حداقل 1 و حداکثر 5):

امتیاز کاربران به این کتاب:        تعداد رای دهنده ها: 3


توضیحاتی در مورد کتاب Learning Algorithms: A Programmer's Guide to Writing Better Code

نام کتاب : Learning Algorithms: A Programmer's Guide to Writing Better Code
ویرایش : 1 ed.
عنوان ترجمه شده به فارسی : الگوریتم های یادگیری: راهنمای برنامه نویس برای نوشتن کد بهتر
سری :
نویسندگان :
ناشر : O'Reilly Media
سال نشر : 2021
تعداد صفحات : 280 [281]
ISBN (شابک) : 1492091065 , 9781492091066
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 11 Mb



بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.

توضیحاتی در مورد کتاب :


وقتی نوبت به نوشتن کد کارآمد می رسد، هر حرفه ای نرم افزار باید دانش کارآمدی از الگوریتم ها داشته باشد. در این کتاب عملی، نویسنده جورج هاینمن (الگوریتم ها به طور خلاصه) توضیحات مختصر و آموزنده ای از الگوریتم های کلیدی ارائه می دهد که کدنویسی را در چندین زبان بهبود می بخشد. توسعه‌دهندگان نرم‌افزار، آزمایش‌کنندگان و نگهدارنده‌ها کشف خواهند کرد که چگونه الگوریتم‌ها مسائل محاسباتی را خلاقانه حل می‌کنند. هر فصل بر اساس فصل‌های قبلی از طریق تصاویر بصری چشم‌نواز و عرضه مداوم مفاهیم اساسی، از جمله تجزیه و تحلیل الگوریتم برای طبقه‌بندی عملکرد هر الگوریتم ارائه‌شده در کتاب است. در پایان هر فصل، می‌توانید آنچه را که آموخته‌اید در یک مسئله چالشی جدید به کار ببرید - شبیه‌سازی تجربه‌ای که ممکن است در مصاحبه کد فنی پیدا کنید. با این کتاب، شما: • الگوریتم های اساسی در علوم کامپیوتر و مهندسی نرم افزار را بررسی کنید • راهبردهای متداول را برای حل کارآمد مسائل بیاموزید - مانند تفرقه بینداز و غلبه کن، برنامه نویسی پویا، و رویکردهای حریصانه • کد را برای ارزیابی پیچیدگی زمانی با استفاده از نماد O بزرگ تجزیه و تحلیل کنید • از کتابخانه های پایتون و ساختارهای داده موجود برای حل مسائل با استفاده از الگوریتم ها استفاده کنید • مراحل اصلی الگوریتم های مهم را درک کنید

فهرست مطالب :


Cover Copyright Table of Contents Foreword Preface Who This Book Is For About the Code Conventions Used in This Book O’Reilly Online Learning How to Contact Us Acknowledgments Chapter 1. Problem Solving What Is an Algorithm? Finding the Largest Value in an Arbitrary List Counting Key Operations Models Can Predict Algorithm Performance Find Two Largest Values in an Arbitrary List Tournament Algorithm Time Complexity and Space Complexity Summary Challenge Exercises Chapter 2. Analyzing Algorithms Using Empirical Models to Predict Performance Multiplication Can Be Faster Performance Classes Asymptotic Analysis Counting All Operations Counting All Bytes When One Door Closes, Another One Opens Binary Array Search Almost as Easy as π Two Birds with One Stone Pulling It All Together Curve Fitting Versus Lower and Upper Bounds Summary Challenge Exercises Chapter 3. Better Living Through Better Hashing Associating Values with Keys Hash Functions and Hash Codes A Hashtable Structure for (Key, Value) Pairs Detecting and Resolving Collisions with Linear Probing Separate Chaining with Linked Lists Removing an Entry from a Linked List Evaluation Growing Hashtables Analyzing the Performance of Dynamic Hashtables Perfect Hashing Iterate Over (key, value) Pairs Summary Challenge Exercises Chapter 4. Heaping It On Max Binary Heaps Inserting a (value, priority) Removing the Value with Highest Priority Representing a Binary Heap in an Array Implementation of Swim and Sink Summary Challenge Exercises Chapter 5. Sorting Without a Hat Sorting by Swapping Selection Sort Anatomy of a Quadratic Sorting Algorithm Analyze Performance of Insertion Sort and Selection Sort Recursion and Divide and Conquer Merge Sort Quicksort Heap Sort Performance Comparison of O(N log N) Algorithms Tim Sort Summary Challenge Exercises Chapter 6. Binary Trees: Infinity in the Palm of Your Hand Getting Started Binary Search Trees Searching for Values in a Binary Search Tree Removing Values from a Binary Search Tree Traversing a Binary Tree Analyzing Performance of Binary Search Trees Self-Balancing Binary Trees Analyzing Performance of Self-Balancing Trees Using Binary Tree as (key, value) Symbol Table Using the Binary Tree as a Priority Queue Summary Challenge Exercises Chapter 7. Graphs: Only Connect! Graphs Efficiently Store Useful Information Using Depth First Search to Solve a Maze Breadth First Search Offers Different Searching Strategy Directed Graphs Graphs with Edge Weights Dijkstra’s Algorithm All-Pairs Shortest Path Floyd–Warshall Algorithm Summary Challenge Exercises Chapter 8. Wrapping It Up Python Built-in Data Types Implementing Stack in Python Implementing Queues in Python Heap and Priority Queue Implementations Future Exploration Index About the Author Colophon

توضیحاتی در مورد کتاب به زبان اصلی :


When it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding in multiple languages. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively. Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, you’ll get to apply what you’ve learned to a novel challenge problem—simulating the experience you might find in a technical code interview. With this book, you will: • Examine fundamental algorithms central to computer science and software engineering • Learn common strategies for efficient problem solving—such as divide and conquer, dynamic programming, and greedy approaches • Analyze code to evaluate time complexity using big O notation • Use existing Python libraries and data structures to solve problems using algorithms • Understand the main steps of important algorithms



پست ها تصادفی