The AlgoDaily Book: Core Essentials 🔍
Jacob Zhang THE MIT PRESS, 2021
英语 [en] · PDF · 41.2MB · 2021 · 📘 非小说类图书 · 🚀/duxiu/lgli/lgrs/nexusstc/zlib · Save
描述
'This book does the impossible: it makes math fun and easy!'- Sander Rossel, COAS Software Systems Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on Manning Publications'YouTube channel. Continue your journey into the world of algorithms with Algorithms in Motion, a practical, hands-on video course available exclusively at Manning.com (www.manning.com/livevideo/algorithms-?in-motion). Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, this is the book for you. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs. About the Book Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them. What's Inside Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples About the Reader This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. About the Author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Table of Contents Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors
备用文件名
lgli/The_AlgoDaily_Book_Core_Essentials.pdf
备用文件名
lgrsnf/The_AlgoDaily_Book_Core_Essentials.pdf
备用文件名
zlib/Computers/Algorithms and Data Structures/Jacob Zhang/The AlgoDaily Book: Core Essentials_17356144.pdf
备选标题
Карьера программиста: прохождение собеседования, разработка программного обеспечения, структуры данных и алгоритмы: 16+
备选标题
Grokking Algorithms : An Illustrated Guide for Programmers and Other Curious People
备选标题
Cracking the coding interview : 189 programming interview questions and solutions
备选标题
Introduction to Algorithms, 3rd Edition (The MIT Press)
备选标题
Алгоритмы: построение и анализ: перевод с английского
备选标题
INTRODUCTION TO ALGORITHMS THIRD EDITION
备选标题
Grokking Algorithms Video Edition
备选作者
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford
备选作者
Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein
备选作者
Thomas H Cormen; Charles Eric Leiserson; Ronald L Rivest; Clifford Stein
备选作者
Кормен, Томас, Лейзерсон, Чарльз, Ривест, Рональд, Штайн, Клиффорд
备选作者
Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
备选作者
Томас Кормен [и др.]; [пер. с англ. и ред. И. В. Красикова]
备选作者
Г. Лакман Макдауэлл; перевел с английского Е. Матвеев
备选作者
Кормен, Томас, Красиков, Игорь Владимирович
备选作者
Thomas H. Cormen ... [et al.]
备选作者
McDowell, Gayle Laakmann
备选作者
Gayle Laakmann McDowell
备选作者
Макдауэлл, Гэйл Лакман
备选作者
Aditya Y. Bhargava
备选作者
Bhargava, Aditya Y
备用出版商
Manning Publications Company, O'Reilly Media, Incorporated [distributor
备用出版商
Диалектика; Диалектика
备用出版商
CareerCup, LLC
备用出版商
AAAI Press
备用出版商
Вильямс
备用出版商
Питер
备用版本
Библиотека программиста, 6-е изд., Санкт-Петербург [и др.], Russia, 2022
备用版本
Библиотека программиста, 6-е изд., Санкт-Петербург [и др.], Russia, 2020
备用版本
Third Edition, Cambridge, MA, USA, Massachusetts, 2009
备用版本
1st edition, Place of publication not identified, 2016
备用版本
Computer science, 3ème ed, Cambridge (Mass.), ©2009
备用版本
3-е изд., Москва, Санкт-Петербург, Russia, 2020
备用版本
3-е изд., Москва, Санкт-Петербург, Russia, 2019
备用版本
Simon & Schuster, Shelter Island, NY, 2016
备用版本
Sixth edition, Palo Alto, California, 2016
备用版本
United States, United States of America
备用版本
3-е изд., Москва [и др.], Russia, 2013
备用版本
3. ed, Cambridge, Mass. [u.a, 2009
备用版本
Saintmpford : Sebastopol, May 2016
备用版本
MIT Press, Cambridge, Mass, 2009
备用版本
6th edition, Palo Alto, CA, 2016
备用版本
6th edition, Palo Alto, CA, 2015
备用版本
1st, First Edition, US, 2015
备用版本
May 05, 2016
备用版本
07/01/2015
元数据中的注释
Includes bibliographical references and index.
元数据中的注释
Указ.
Библиогр.: с. 1282-1298
Пер.: Introduction to algorithms Cambridge, Massachusetts etc. : The MIT Press, 2009 cop. 978-0-2620-3384-8
元数据中的注释
РГБ
元数据中的注释
Russian State Library [rgb] MARC:
=001 006667867
=005 20140218121035.0
=008 090410s2013\\\\ru\\\\\\\\\\\\000\u\rus\\
=017 \\ $a 13-76076
=020 \\ $a 978-5-8459-1794-2
=040 \\ $a RuMoRKP $b rus $e rcr $d RuMoRGB
=041 1\ $a rus $h eng
=080 \\ $a 510.5
=084 \\ $a З973.2-018я73-1 $2 rubbk
=084 \\ $a В127с31я73-1 $2 rubbk
=245 00 $a Алгоритмы. Построение и анализ $h [Текст] $c Томас Кормен [и др.] ; [пер. с англ. и ред. И. В. Красикова]
=250 \\ $a 3-е изд.
=260 \\ $a Москва [и др.] $b Вильямс $c 2013
=300 \\ $a 1323 с. $b ил., табл. $c 25 см
=336 \\ $a текст (text) $b txt $2 rdacontent
=337 \\ $a неопосредованный (unmediated) $b n $2 rdamedia
=338 \\ $a том (volume) $b nc $2 rdacarrier
=500 \\ $a Указ.
=504 \\ $a Библиогр.: с. 1282-1298
=534 \\ $p Пер.: $t Introduction to algorithms $c Cambridge, Massachusetts etc. : The MIT Press, 2009 cop. $z 978-0-2620-3384-8
=650 \7 $a Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование. Алгоритмы -- Учебник для высшей школы $2 rubbk
=650 \7 $a Алгоритмы $2 nlr_sh1 $0 RU\NLR\AUTH\661221835 $x Анализ $v Учебные издания для высших учебных заведений
=650 \7 $a Алгоритмы $2 nlr_sh1 $0 RU\NLR\AUTH\661221835 $x Построение $v Учебные издания для высших учебных заведений
=650 \7 $a Физико-математические науки -- Математика -- Математическая логика -- Теория алгоритмов -- Применение ЭВМ -- Учебник для высшей школы $2 rubbk
=650 \7 $a Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование. Алгоритмы -- Учебник для высшей школы $2 rubbk
=650 \7 $a Алгоритмы $2 nlr_sh1 $0 RU\NLR\AUTH\661221835 $x Анализ $v Учебные издания для высших учебных заведений
=650 \7 $a Алгоритмы $2 nlr_sh1 $0 RU\NLR\AUTH\661221835 $x Построение $v Учебные издания для высших учебных заведений
=650 \7 $a Физико-математические науки -- Математика -- Математическая логика -- Теория алгоритмов -- Применение ЭВМ -- Учебник для высшей школы $2 rubbk
=700 1\ $a Кормен, Томас $d 1956-
=700 1\ $a Красиков, Игорь Владимирович $e ред.
=852 \\ $a РГБ $b FB $j 2 13-71/52 $x 90
元数据中的注释
Предм. указ.: с. 1299-1323
Библиогр.: с. 1282-1298
Пер.: Cormen, Thomas H. Introduction to algorithms Cambridge, Massachusetts : The MIT Press, cop. 2009 978-0-2620-3384-8
元数据中的注释
Russian State Library [rgb] MARC:
=001 010236277
=005 20200205134840.0
=008 200127s2020\\\\ru\||||\\\\\\\0||\|\rus|d
=017 \\ $a КН-П-20-003031 $b RuMoRKP
=020 \\ $a 978-5-907114-11-1 $c 1000 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a В127с31я73-1 $2 rubbk
=084 \\ $a З973.2-018я73-1 $2 rubbk
=245 00 $a Алгоритмы : $b построение и анализ : перевод с английского $c Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
=250 \\ $a 3-е изд.
=260 \\ $a Москва $b Диалектика ; $a Санкт-Петербург $b Диалектика $c 2020
=300 \\ $a 1323 с. $b ил. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=500 \\ $a Предм. указ.: с. 1299-1323
=504 \\ $a Библиогр.: с. 1282-1298
=534 \\ $p Пер.: $a Cormen, Thomas H. $t Introduction to algorithms $c Cambridge, Massachusetts : The MIT Press, cop. 2009 $z 978-0-2620-3384-8
=650 \7 $a Физико-математические науки -- Математика -- Математическая логика -- Теория алгоритмов -- Применение ЭВМ -- Учебник для высшей школы $2 rubbk
=650 \7 $a Техника. Технические науки -- Энергетика. Радиоэлектроника -- Радиоэлектроника -- Вычислительные машины электронные цифровые -- Программирование -- Учебник для высшей школы $2 rubbk
=700 1\ $a Кормен, Томас $d 1956-
=700 1\ $a Лейзерсон, Чарльз $d 1953-
=700 1\ $a Ривест, Рональд $d 1947-
=700 1\ $a Штайн, Клиффорд $d 1965-
=852 \\ $a РГБ $b FB $j 2 20-4/141 $x 90
=852 7\ $a РГБ $b CZ2 $h В195/А45 $x 83
元数据中的注释
Фактическая дата выхода в свет - 2018
Предм. указ.: с. 1299-1323
Библиогр.: с. 1282-1298
Пер.: Introduction to algorithms 3rd ed. 978-0-2620-3384-8
元数据中的注释
Russian State Library [rgb] MARC:
=001 009814867
=005 20190529141513.0
=008 181127s2019\\\\ru\||||\\\\\\|0||\|\rus|d
=017 \\ $a КН-П-19-037586 $b RuMoRKP
=017 \\ $a КН-П-18-088644 $b RuMoRKP
=020 \\ $a 978-5-907114-11-1 $c 700 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=084 \\ $a З973.2-018я73-1 $2 rubbk
=084 \\ $a В127с31я73-1 $2 rubbk
=245 00 $a Алгоритмы. Построение и анализ $h [Текст] : $b [пер. с англ.] $c Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
=250 \\ $a 3-е изд.
=260 \\ $a Москва ; $a Санкт-Петербург $b Диалектика $c 2019
=300 \\ $a 1323 с. $b ил., табл. $c 24 см
=336 \\ $a текст (text) $b txt $2 rdacontent
=337 \\ $a неопосредованный (unmediated) $b n $2 rdamedia
=338 \\ $a том (volume) $b nc $2 rdacarrier
=500 \\ $a Фактическая дата выхода в свет - 2018
=500 \\ $a Предм. указ.: с. 1299-1323
=504 \\ $a Библиогр.: с. 1282-1298
=534 \\ $p Пер.: $a Introduction to algorithms $b 3rd ed. $z 978-0-2620-3384-8
=650 \7 $a Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование. Алгоритмы -- Учебник для высшей школы $2 rubbk
=650 \7 $a Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование. Алгоритмы -- Учебник для высшей школы $2 rubbk
=700 1\ $a Кормен, Томас $d 1956-
=700 1\ $a Лейзерсон, Чарльз
=700 1\ $a Ривест, Рональд
=700 1\ $a Штайн, Клиффорд
=852 \\ $a РГБ $b FB $j 2 18-69/198 $x 90
=852 \\ $a РГБ $b ORF $x 82
元数据中的注释
На обл.: Бестселлер Amazon
Пер.: McDowell, Gayle Laakmann (1982-) Cracking the coding interview 6th ed. Palo Alto, Calif : CareerCup, cop. 2015 978-0984782857
元数据中的注释
Russian State Library [rgb] MARC:
=001 010969901
=005 20220204215524.0
=008 191112s2022\\\\ru\||||\\\\\\\|||\|\rus|d
=017 \\ $b RuMoRKP
=017 \\ $a КН-П-22-005428 $b RuMoRKP
=020 \\ $a 978-5-4461-1839-7 $c 500 экз.
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018я78-1 $2 rubbk
=100 1\ $a Макдауэлл, Гэйл Лакман $d 1982-
=245 00 $a Карьера программиста : $b прохождение собеседования, разработка программного обеспечения, структуры данных и алгоритмы : 16+ $c Г. Лакман Макдауэлл ; перевел с английского Е. Матвеев
=250 \\ $a 6-е изд.
=260 \\ $a Санкт-Петербург [и др.] $b Питер $c 2022
=300 \\ $a 688 с. $b ил., табл. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=490 0\ $a Библиотека программиста
=500 \\ $a На обл.: Бестселлер Amazon
=534 \\ $p Пер.: $a McDowell, Gayle Laakmann (1982-) $t Cracking the coding interview $b 6th ed. $c Palo Alto, Calif : CareerCup, cop. 2015 $z 978-0984782857
=650 \7 $a Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование -- Учебник для самообразования $2 rubbk
=852 \\ $a РГБ $b FB $j 2 22-7/174 $x 90
=852 \\ $a РГБ $b AB $j 004 $p АБ.505218 $x 82
元数据中的注释
Фактическая дата выхода в свет - 2019
Пер.: Mcdowell, Gayle Laakmann (1982-) Cracking the coding interview 6th ed. 978-0984782857
元数据中的注释
Russian State Library [rgb] MARC:
=001 010153364
=005 20200720100238.0
=008 191112s2020\\\\ru\||||\\\\\\\0||\|\rus|d
=017 \\ $a КН-П-19-085484 $b RuMoRKP
=017 \\ $a КН-П-20-022518 $b RuMoRKP
=020 \\ $a 978-5-496-03239-1
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018я78-1 $2 rubbk
=100 1\ $a Макдауэлл, Гэйл Лакман $d 1982-
=245 00 $a Карьера программиста : $b прохождение собеседования, разработка программного обеспечения, структуры данных и алгоритмы $c Г. Лакман Макдауэлл
=250 \\ $a 6-е изд.
=260 \\ $a Санкт-Петербург [и др.] $b Питер $c 2020
=300 \\ $a 688 с. $b ил., табл. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=490 0\ $a Библиотека программиста
=500 \\ $a Фактическая дата выхода в свет - 2019
=534 \\ $p Пер.: $a Mcdowell, Gayle Laakmann (1982-) $t Cracking the coding interview $b 6th ed. $z 978-0984782857
=650 \7 $a Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование -- Учебник для самообразования $2 rubbk
=852 \\ $a РГБ $b FB $j 2 19-65/262 $x 90
=852 7\ $a РГБ $b CZ2 $h З973.2-018/М15 $x 83
=852 \\ $a РГБ $b ORF $x 82
=852 \\ $a РГБ $b ORF $x 82
备用描述
Now In The 6th Edition, The Book Gives You The Interview Preparation You Need To Get The Top Software Developer Jobs. This Is A Deeply Technical Book And Focuses On The Software Engineering Skills To Ace Your Interview. The Book Includes 189 Programming Interview Questions And Answers, As Well As Other Advice. 1. The Interview Process. Why? -- How Questions Are Selected -- Timeline And Preparation Map -- It's All Relative -- Frequently Asked Questions -- 2. Behind The Scenes. The Microsoft Interview -- The Amazon Interview -- The Google Interview -- The Apple Interview -- The Facebook Interview -- The Palantir Interview -- 3. Special Situations. Experienced Candidates -- Testers And Sdets -- Product (and Program) Managment --dev Lead And Managers -- Start-ups -- Acquisitions And Acquihires -- For Interviewers -- 4. Before The Interview. Getting The Right Experience -- Writing A Great Resume -- Preparation Map -- 5. Behavioral Questions. Interview Preparation Grid -- Know Your Technical Projects -- Responding To Behavioral Questions -- So, Tell Me About Yourself -- 6. Big O. An Analogy -- Time Complexity -- Space Complexity -- Drop The Constraints -- Drop The Non-dominant Terms -- Multi-part Algorithms: Add Vs. Multiply -- Amortized Time -- Log N Runtimes -- Recursive Runtimes --^ Examples And Exercises -- 7. Technical Questions. How To Prepare -- What You Need To Know -- Walking Through A Problem -- Optimize & Solve Technique # 1: Look For Bud -- Optimize & Solve Technique #2: Diy (do It Yourself) -- Optimize & Solve Technique #3: Simplify And Generalize -- Optimize & Solve Technique #4: Base Case And Build -- Optimize & Solve Technique #5: Data Structure Brainstorm -- Best Conceivable Runtime (bcr) -- Handling Incorrect Answers -- When You've Heard A Question Before -- The 'perfect' Language For Interviews -- What Good Coding Looks Like -- Don't Give Up! -- 8. The Offer And Beyond. Handling Offers And Rejection -- Evaluating The Offer -- Negotiation -- On The Job -- 9. Interview Questions. Data Structures: Arrays And Strings ; Linked Lists ; Stacks And Queues ; Trees And Graphs --^ Concepts And Algorithms. Bit Manipulation ; Math And Logic Puzzles ; Object-oriented Design ; Recursion And Dynamic Programming ; System Design And Scalability ; Sorting And Searching ; Testing -- Knowledge Based. C And C++ ; Java ; Databases ; Threads And Locks ; Additional Review Problems. Moderate ; Hard -- 10. Solutions. Data Structures -- Concepts And Algorithms -- Knowledge Based -- Additional Review Problems -- 11. Advanced Topics. Useful Math -- Topological Sort -- Dijkstra's Algorithm -- Hash Table Collision Resolution -- Rabin-karp Substring Search -- Avl Trees -- Red-black Trees -- Mapreduce -- Additional Studying -- 12. Code Library. Hashmaplist <t, E> -- Treenode (binary Search Tree) -- Linkedlistnode (linked List) -- Trie & Trienode -- 13. Hints. Hints For Data Structures -- Hints For Concepts And Algorithms -- Hints For Knowledge-based Questions -- Hints For Assorted Review Problems -- 14. About The Author. Gayle Laakmann Mcdowell, Founder And Ceo, Careercup.com.
备用描述
"This book does the impossible: it makes math fun and easy!" Sander Rossel, COAS Software Systems Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this video editions course, you will have mastered widely applicable algorithms as well as how and when to use them. An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, you are at the right place. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs. Inside: Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Do you want to treat yourself to learning algorithms in the same way that you would read your favorite novel? If so, this is the book you need! Sankar Ramanathan, IBM Analytics In today's world, there is no aspect of our lives that isn't optimized by some algorithm. Let this be the first book you pick up if you want a well-explained introduction to the topic. Amit Lamba, Tech Overture, LLC Algorithms are not boring! This book was fun and insightful f..
备用描述
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer.
Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book.
Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions.
These interview questions are real; they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible.
WHAT'S INSIDE?
- 189 programming interview questions, ranging from the basics to the trickiest algorithm problems.
- A walk-through of how to derive each solution, so that you can learn how to get there yourself.
- Hints on how to solve each of the 189 questions, just like what you would get in a real interview.
- Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen.
- Extensive coverage of essential topics, such as big O time, data structures, and core algorithms.
- A behind the scenes look at how top companies like Google and Facebook hire developers.
- Techniques to prepare for and ace the soft side of the interview: behavioral questions.
- For interviewers and companies: details on what makes a good interview question and hiring process.
备用描述
The latest edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-based flow.Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, substantial additions to the chapter on recurrence (now called “Divide-and-Conquer”), and an appendix on matrices. It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many exercises and problems have been added for this edition. The international paperback edition is no longer available; the hardcover is available worldwide.
备用描述
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.
Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:
Write a spell checker using graph algorithms
Understand how data compression works using Huffman coding
Identify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer instead
Each carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.
备用描述
This Edition Has Been Revised And Updated Throughout. It Includes Some New Chapters. It Features Improved Treatment Of Dynamic Programming And Greedy Algorithms As Well As A New Notion Of Edge-based Flow In The Material On Flow Networks.--[book Cover]. I. Foundations. The Role Of Algorithms In Computing -- Getting Started -- Growth Of Functions -- Divide-and-conquer -- Probabilistic Analysis And Randomized Algorithms -- Ii. Sorting And Order Statistics. Heapsort -- Quicksort -- Sorting In Linear Time -- Medians And Order Statistics -- Iii. Data Structures. Elementary Data Structures -- Hash Tables -- Binary Search Trees -- Red-black Trees -- Augmenting Data Structures -- Iv. Advanced Design And Analysis Techniques. Dynamic Programming -- Greedy Algorithms -- Amortized Analysis -- V. Advanced Data Structures. B-trees -- Fibonacci Heaps -- Van Emde Boas Trees -- Data Structures For Disjoint Sets -- Vi. Graph Algorithms. Elementary Graph Algorithms -- Minimum Spanning Trees -- Single-source Shortest Paths -- All-pairs Shortest Paths -- Maximun Flow -- Vii. Selected Topics. Multithreaded Algorithms -- Matrix Operations -- Linear Programming -- Polynomials And The Fft -- Number-theoretic Algorithms -- String Matching -- Computational Geometry -- Np-completeness -- Approximation Algorithms -- Viii. Appendix: Mathematical Background. Summations -- Sets, Etc. -- Counting And Probability -- Matrices. Thomas H. Cormen ... [et Al.]. Includes Bibliographical References (p. [1231]-1249) And Index.
备用描述
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor. - The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, and substantial additions to the chapter on recurrences (now called "Divide-and-Conquer"). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition
备用描述
This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. We have tried to keep explanations elementary without sacrificing depth of coverage or mathematical rigor. Each chapter presents an algorithm, a design technique, an application area, or a related topic. Algorithms are described in English and in a "pseudocode" designed to be readable by anyone who has done a little programming. The book contains over 260 figrues illustrating how the algorithms work. Since we emphasize efficiency as a design criterion, we include careful analyses of the running times of all our algorithms. The text is intended primarily for use in undergraduate or graduate courses in algorithms or data structures. Because it discusses engineering issues in algorithm design, as well as mathematical aspects, it is equally well suited for self-study by technical professionals. --
备用描述
<p>Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python.<br></p><p>Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on YouTube.<br></p><p>If you want to get more from the classic algorithms inside this book then be sure to check out Algorithms in Motion. Together this book and video course make the perfect duo.<br></p>
备用描述
Annotation This fully-illustrated and engaging guide makes it easy to learn how to use algorithms effectively. The book is a disarming take on a core computer science topic and shows readers how to apply common algorithms to practical problems faced in the day-to-day life of a programmer. It starts with problems like sorting and searching and builds up skills in thinking algorithmically. Then it tackles more complex concerns such as data compression or artificial intelligence
备用描述
KEY SELLING POINTS Disarming take on a core computer science topic Carefully presented examples Helpful diagrams and fully annotated code samples AUDIENCE This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. Code examples are written in Python.
备用描述
A new edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-base flow
开源日期
2021-09-16
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:JDownloader
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。