算法
算法竞赛入门经典 算法实现 豆瓣
作者: 陈锋 2021 - 5
《算法竞赛入门经典——算法实现》精选《算法竞赛入门经典(第2版)》和《算法竞赛入门经典——训练指南(升级版)》中的经典题目,按算法要点和竞赛考点重新进行分拆和归类,提供了240余套简洁、高效、规范的完整代码模板。此外,也加入了一些虽然未在两本书中出现,但实际上对初学者入门非常重要的题目代码。借助于这些模板,读者在练习环节和比赛时,可大大减轻因来回琢磨代码实现细节而导致调试时间大幅增加的压力。
《算法竞赛入门经典——算法实现》共分7章,第1章介绍C++编程基础与STL,第2章介绍算法设计与优化,第3章介绍数学相关算法,第4章介绍数据结构,第5章介绍字符串,第6章介绍计算几何,第7章介绍图论。
《算法竞赛入门经典——算法实现》题目覆盖了ACM/ICPC/NOI/NOIP等算法竞赛的大多数经典题型和细分算法要点,内容全面,信息量大,非常适合选手在练习环节和比赛时参考使用。
2022年5月2日 在读
微信读书ing
算法
算法竞赛入门经典 训练指南 升级版 豆瓣
作者: 刘汝佳 / 陈锋 2021 - 5
《算法竞赛入门经典——训练指南(升级版)》是《算法竞赛入门经典(第2版)》一书的重要补充,旨在补充原书中没有涉及或者讲解得不够详细的内容,从而构建一个更完整的知识体系。本书通过大量有针对性的题目,让抽象复杂的算法和数学具体化、实用化。
《算法竞赛入门经典——训练指南(升级版)》共包括6章,分别为算法设计基础、数学基础、实用数据结构、几何问题、图论算法与模型以及更多算法专题。全书通过206道例题深入浅出地介绍了上述领域的各个知识点、经典思维方式以及程序实现的常见方法和技巧,并在章末给出了丰富的分类习题,供读者查漏补缺和强化学习效果。
《算法竞赛入门经典——训练指南(升级版)》题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点。书中还给出了所有重要的经典算法的完整程序,以及重要例题的核心代码,既适合选手自学,也方便院校和培训机构组织学生学习和训练。
2022年5月2日 在读
学而时习之 重要的是掌握思考方式 并在实践中多巩固
算法
CockroachDB: The Definitive Guide 豆瓣
作者: Jesse Seldess / Ben Darnell O'Reilly Media 2022 - 5
Get the lowdown on CockroachDB, the elastic SQL database built to handle the demands of today's data-driven world. With this practical guide, software developers, architects, and DevOps teams will discover the advantages of building on a distributed SQL database. You'll learn how to create applications that scale elastically and provide seamless delivery for end users while remaining exceptionally resilient and indestructible.
Written from scratch for the cloud and architected to scale elastically to handle the demands of cloud native and open source, CockroachDB makes it easier to build and scale modern applications. If you're familiar with distributed systems, you'll quickly discover the benefits of strong data correctness and consistency guarantees as well as optimizations for delivering ultralow latencies to globally distributed end users.
With this thorough guide, you'll learn how to:
Plan and build applications for distributed infrastructure, including data modeling and schema design
Migrate data into CockroachDB
Read and write data and run ACID transactions across distributed infrastructure
Optimize queries for performance across geographically distributed replicas
Plan a CockroachDB deployment for resiliency across single-region and multiregion clusters
Secure, monitor, and optimize your CockroachDB deployment
Introduction to Algorithms, fourth edition 谷歌图书 豆瓣
作者: Thomas H. Cormen / Charles E. Leiserson MIT Press 2022 - 3
A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics.

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers, with self-contained chapters and algorithms in pseudocode. Since the publication of the first edition, Introduction to Algorithms has become the leading algorithms text in universities worldwide as well as the standard reference for professionals. This fourth edition has been updated throughout.

New for the fourth edition
• New chapters on matchings in bipartite graphs, online algorithms, and machine learning
• New material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays
• 140 new exercises and 22 new problems
• Reader feedback–informed improvements to old problems
• Clearer, more personal, and gender-neutral writing style
• Color added to improve visual presentation
• Notes, bibliography, and index updated to reflect developments in the field
• Website with new supplementary material
2021年12月14日 想读 The fourth edition will be much shorter than the third edition: 1311 pages instead of 1312.
2022 计算机科学 算法
How to Solve It 豆瓣
作者: Zbigniew Michalewicz / David B. Fogel Springer Berlin Heidelberg 2010
This book is the only source that provides comprehensive, current, and correct information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic programming, the simplex method, and gradient techniques, as well as recent innovations such as simulated annealing, tabu search, and evolutionary computation. Integrated into the discourse is a series of problems and puzzles to challenge the reader. The book is written in a lively, engaging style and is intended for students and practitioners alike. Anyone who reads and understands the material in the book will be armed with the most powerful problem solving tools currently known. This second edition contains two new chapters, one on coevolutionary systems and one on multicriterial decision-making. Also some new puzzles are added and various subchapters are revised.
The March 2002 issue of ACMs Computing Reviews identifies a review of "How to Solve It" as the best review they published in 2001. The review is then reprinted in its entirety. Reviewer: H. van Dyke Parunak.
Excerpt: Like its predecessor, the new How to Solve It, combines deep mathematical insight with skilled pedagogy. Puzzle lovers will seek out the book for its insightful discussion of many intriguing brain twisters. Students of computational methods will find it an accessible but rigorous introduction to evolutionary algorithms. Teachers will learn from its expositions how to make their own subject matter clearer to their students. Polya would be honored to know that his spirit lives on in the computer age.
From the reviews of the second edition:
"This is an outstanding book. It takes the reader close to the current knowledge frontier … . The book’s writing style is lively and educational, and this makes it extremely interesting … . is intended for students and practitioners. … is an excellent choice for a course on heuristics … . One of the most comprehensive views … is provided in this book. It is written to be read and understood … . is a must-read and must-have for anyone engaged in the art of problem solving." (Dimitrios Katsaros, Computing Reviews, April, 2005)
2021年11月28日 在读
刘未鹏:知其所以然(以算法学习为例)
对照 G. 波利亚《How to Solve It》和 保罗·蔡茨《The Art and Craft of Problem Solving (3/e)》学习。后两者偏向数学问题,而这本针对算法Problem Solving Techique.
计算机科学 方法论 算法
Competitive Programming 4 - Book 2 豆瓣
作者: Steven Halim / Felix Halim Lulu.com 2020 - 7
This Competitive Programming book, 4th edition (CP4) is a must have for every competitive programmer. Mastering the contents of this book is a necessary (but admittedly not sufficient) condition if one wishes to take a leap forward from being just another ordinary coder to being among one of the world's finest competitive programmers. Typical readers of Book 1 (only) of CP4 would include: (1). Secondary or High School Students who are competing in the annual International Olympiad in Informatics (IOI) (including the National or Provincial Olympiads) as Book 1 covers most of the current IOI Syllabus, (2). Casual University students who are using this book as supplementary material for typical Data Structures and Algorithms courses, (3). Anyone who wants to prepare for typical fundamental data structure/algorithm part of a job interview at top IT companies. Typical readers of both Book 1 + Book 2 of CP4 would include: (1). University students who are competing in the annual International Collegiate Programming Contest (ICPC) Regional Contests (including the World Finals) as Book 2 covers much more Computer Science topics that have appeared in the ICPCs, (2). Teachers or Coaches who are looking for comprehensive training materials, (3). Anyone who loves solving problems through computer programs. There are numerous programming contests for those who are no longer eligible for ICPC, including Google CodeJam, Facebook Hacker Cup, TopCoder Open, CodeForces contest, Internet Problem Solving Contest (IPSC), etc.
Competitive Programming 4 - Book 1 豆瓣
作者: Steven Halim / Felix Halim Lulu.com 2018
This Competitive Programming book, 4th edition (CP4) is a must have for every competitive programmer. Mastering the contents of this book is a necessary (but admittedly not sufficient) condition if one wishes to take a leap forward from being just another ordinary coder to being among one of the world's finest competitive programmers. Typical readers of Book 1 (only) of CP4 would include: (1). Secondary or High School Students who are competing in the annual International Olympiad in Informatics (IOI) (including the National or Provincial Olympiads) as Book 1 covers most of the current IOI Syllabus, (2). Casual University students who are using this book as supplementary material for typical Data Structures and Algorithms courses, (3). Anyone who wants to prepare for typical fundamental data structure/algorithm part of a job interview at top IT companies. Typical readers of both Book 1 + Book 2 of CP4 would include: (1). University students who are competing in the annual International Collegiate Programming Contest (ICPC) Regional Contests (including the World Finals) as Book 2 covers much more Computer Science topics that have appeared in the ICPCs, (2). Teachers or Coaches who are looking for comprehensive training materials, (3). Anyone who loves solving problems through computer programs. There are numerous programming contests for those who are no longer eligible for ICPC, including Google CodeJam, Facebook Hacker Cup, TopCoder Open, CodeForces contest, Internet Problem Solving Contest (IPSC), etc.
The Art of Computer Programming, Volume 4A 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2011 - 1
The book is Volume 4A, because Volume 4 has itself become a multivolume undertaking. Combinatorial searching is a rich and important topic, and Knuth has too much to say about it that is new, interesting, and useful to fit into a single volume, or two, or maybe even three. This book alone includes approximately 1500 exercises, with answers for self-study, plus hundreds of useful facts that cannot be found in any other publication. Volume 4A surely belongs beside the first three volumes of this classic work in every serious programmer’s library.
2021年11月22日 在读
Section 7.2.1.3: Algorithm L (lexicographic permutation generation)
1286. Iterator for Combination
计算机科学 算法
数据结构编程实验(第3版) 豆瓣
作者: 吴永辉 / 王建德 2021 - 7
本书针对大学程序设计竞赛和课程教学,基于数据结构的知识体系和循序渐进的原则组织内容,包括训练基本编程能力的实验、线性表的编程实验、树的编程实验和图的编程实验四篇,分别介绍了简单计算编程、简单模拟编程、递归与回溯法编程、直接存取类线性表编程、顺序存取类线性表编程、广义索引类线性表编程、线性表排序的编程、采用树结构的非线性表编程、经典二叉树编程、图的遍历算法编程、最小生成树算法编程、最佳路算法编程、二分图和网络流算法编程,以及状态空间搜索编程。每一章在介绍相关的数据结构知识后,均给出相应的实验范例,并在章末给出相关题库。本书实用性强,既可以用作高校数据结构、程序设计语言以及离散数学相关课程的实验教材,也可以用作程序设计竞赛选手的系统训练参考书籍。
算法通关之路 豆瓣
作者: 路志鹏 / 李冰 2021 - 8
这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的必备知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法难关。
《算法通关之路》通过算法题解的形式讲解了基本数据结构和算法知识,包括分治、贪心、回溯和动态规划等算法思想,二分查找、深度优先遍历和广度优先遍历、双指针、滑动窗口、位运算、并查集等解题思路和技巧,以及通用解题“套路”和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。
《算法通关之路》适合数据结构和算法知识的学习者,希望学习如何解算法题或正在刷题的计算机行业从业者,也可作为大、中专院校相关专业的辅导参考书。
2021年10月19日 在读 读过labuladong和explore过来复习复习 例如三色标记法
算法 微信读书
啊哈!算法 豆瓣
作者: 啊哈磊 人民邮电出版社 2014 - 6
这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。
这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,
通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜
游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。
本书中涉及到的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及到的算法有排序、枚举、
深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、
割点与割边算法、二分图的最大匹配算法等。
网名啊哈磊。
曾在中科院玩过单片机。武汉大学历史上第一位以本科生身份加入MSRA(微软亚洲研究院)的小伙伴,在机器学习组从事搜索引擎方面的研究。
发表国际会议论文一篇(IEEE)。
全国青少年信息学奥林匹克金牌教练。
超萌超简洁的C语言编译器——“啊哈C编译器”作者。
2013年我的著作,有趣的编程科普书《啊哈C!》出版。
网址:www.ahalei.com
微博:weibo.com/ahalei
非常喜欢小朋友,每天都过得都非常开心。
至于为什么叫“啊哈磊”,因为我觉得这是一个很喜庆的名字。
2021年10月2日 在读
看了《麦克老师讲算法》的Floyd和Dijkstra,就是找这本书的思路讲的,很直观易懂。再用leetcode或SPOJ来加深理解各类算法的应用。挺推荐的,就是书中说会出2,到现在已经7年了都没出。
编程 计算机科学 算法 科普
天才与算法 豆瓣
The Creativity Code: How AI Is Learning to Write, Paint and Think
作者: [英] 马库斯·杜·索托伊 译者: 王晓燕 / 陈浩 机械工业出版社 2020 - 4
★美、英两国双料院士马库斯·杜·索托伊先生巅峰作品。
★我们即将进入一个由算法主导和支配的世界,AI将在互联网、绘画、音乐、写作等全方面挑战人类的创造力和想象力。
★作者用数学思维帮助我们理解算法,引领人们认知创造力的本质,帮助人类创造一个人与机器共存的美好未来。
labuladong的算法小抄 豆瓣
作者: 付东来(@labuladong) 电子工业出版社
《labuladong的算法小抄》专攻算法刷题,训练算法思维,应对算法笔试。注重用套路和框架思维解决问题,以不变应万变。  第1章列举了几个最常见的算法类型及对应的解题框架思路,包括动态规划、回溯、广度优先搜索及双指针、滑动窗口等算法技巧。  第2章用动态规划的通用思路框架解决了十几道经典的动态规划问题,例如,正则表达式、背包问题,同时还介绍了如何写状态转移方程、如何进行状态压缩等技巧。  第3章介绍了数据结构相关的算法,例如,二叉树相关题目的解法,也包括LRU、LFU这种面试常考的算法原理。  第4章介绍了回溯算法、广度优先搜索算法等核心套路在算法题中的运用,巩固对算法框架的理解。  第5章讲解了一些高频题目,每道题目可能会结合多种算法思路进行讲解,也可能有多种解法,读完这一章,你就可以独自遨游题海啦!
2021年8月28日 已读
3个星期过了一遍,作者这种总结的习惯很好!虽然cover的有些偏颇,例如DP过多,而Graph则没有太涉及,且代码并不一定最优,有的会TLE,例如设计计算器。可以在理解后参考forum high votes的帖子,例如 lee215大神的回答。
计算机科学 算法 软件工程
剑指Offer(专项突破版):数据结构与算法名企面试题精讲 豆瓣
作者: 何海涛 2021 - 8
《剑指Offer(专项突破版):数据结构与算法名企面试题精讲》全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构,然后深入讨论二分查找、排序、回溯法、动态规划和图搜索等算法。除了介绍相应的基础知识,每章还通过大量的高频面试题系统地总结了各种数据结构与算法的应用场景及解题技巧。
《剑指Offer(专项突破版):数据结构与算法名企面试题精讲》适合所有正在准备面试的程序员阅读。无论是计算机相关专业的应届毕业生还是初入职场的程序员,本书总结的数据结构和算法的基础知识及解题经验都不仅可以帮助他们提高准备面试的效率,还可以增加他们通过面试的成功率。
Learning Algorithms 豆瓣
作者: George Heineman O'Reilly Media 2021 - 9
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
Classic Computer Science Problems in Java 豆瓣
作者: David Kopec Manning Publications 2021 - 1
Classic Computer Science Problems in Java will teach you techniques to solve common-but-tricky programming issues. You’ll explore foundational coding methods, fundamental algorithms, and artificial intelligence topics, all through code-centric Java tutorials and computer science exercises. As you tackle examples for search algorithms, graph algorithms, neural networks, and more, you’ll see how cutting-edge fields like AI remain based in the core disciplines of computer science. With each new problem you crack, you’ll better understand the connections between classic computer science and the real-world challenges you face every day.
Recursion, memoization, bit manipulation
Search algorithms
Constraint-satisfaction problems
Graph algorithms
K-means clustering
Genetic algorithms
Simple neural networks
Adversarial search
2021年7月19日 在读
minimax search (Tic-tac-toe) 找到的, 还有个Python版, 不错, 挣2份钱
计算机科学 算法
The Golden Ticket 豆瓣
作者: Lance Fortnow Princeton University Press 2013 - 3
The P-NP problem is the most important open problem in computer science, if not all of mathematics. The Golden Ticket provides a nontechnical introduction to P-NP, its rich history, and its algorithmic implications for everything we do with computers and beyond. In this informative and entertaining book, Lance Fortnow traces how the problem arose during the Cold War on both sides of the Iron Curtain, and gives examples of the problem from a variety of disciplines, including economics, physics, and biology. He explores problems that capture the full difficulty of the P-NP dilemma, from discovering the shortest route through all the rides at Disney World to finding large groups of friends on Facebook. But difficulty also has its advantages. Hard problems allow us to safely conduct electronic commerce and maintain privacy in our online lives. The Golden Ticket explores what we truly can and cannot achieve computationally, describing the benefits and unexpected challenges of the P-NP problem.
迷茫的旅行商 豆瓣
In pursuit of the traveling salesman:Mathematics at the limits of computation
7.3 (6 个评分) 作者: [美] William J. Cook 译者: 隋春宁 人民邮电出版社 2013 - 10
假设一名旅行商打算拜访一张城市列表中的所有城市,每座城市只去一次,最后回到出发地。要怎么走才能让路线最短呢?这就是旅行商问题,乍一听很简单,在应用数学界却是一道研究极其热烈的难题,时至今日仍无人能解。本书中,William J. Cook将带领读者踏上一场数学之旅,跟随旅行商的脚步,从19世纪初爱尔兰数学家W. R. Hamilton最初定义该问题开始,一路奔向当今最前沿、最顶尖的解题尝试。
作者追根溯源,回顾了旅行商问题的历史,探索了它的种种重要应用,比如基因组测序、设计计算机处理器、整理音乐乃至搜寻行星等。他分析了计算机如何抗衡规模宏大的旅行商问题,探讨了人类如何在不借助计算机的情况下独立破解难题。他一路穿越神经科学、心理学与艺术的王国,向读者下了战书:试试解决这道难题吧!旅行商问题价值百万美元——这是克雷数学研究所的悬赏金额,只要解出该题或证明该题不可解,就能得到这笔奖金。
《迷茫的旅行商》介绍了人类对于复杂性本质的理解与局限,将激励读者从此踏上求解这道迷人难题的漫漫征程。
Algorithms 豆瓣 Goodreads
Algorithms
作者: Sanjoy Dasgupta / Christos H. Papadimitriou McGraw-Hill Education 2006 - 10
This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasis is placed on understanding the crisp mathematical idea behind each algorithm, in a manner that is intuitive and rigorous without being unduly formal.
Algorithms 豆瓣
作者: Jeff Erickson Independently published 2019 - 6
Algorithms are the lifeblood of computer science. They are the machines that proofs build and the music that programs play. Their history is as old as mathematics itself. This textbook is a wide-ranging, idiosyncratic treatise on the design and analysis of algorithms, covering several fundamental techniques, with an emphasis on intuition and the problem-solving process. The book includes important classical examples, hundreds of battle-tested exercises, far too many historical digressions, and exaclty four typos. Jeff Erickson is a computer science professor at the University of Illinois, Urbana-Champaign; this book is based on algorithms classes he has taught there since 1998.