计算机科学
Principles of Distributed Database Systems 豆瓣
作者: M. Tamer Özsu / Patrick Valduriez Springer 2020 - 1
The fourth edition of this classic textbook provides major updates. This edition has completely new chapters on Big Data Platforms (distributed storage systems, MapReduce, Spark, data stream processing, graph analytics) and on NoSQL, NewSQL and polystore systems. It also includes an updated web data management chapter that includes RDF and semantic web discussion, an integrated database integration chapter focusing both on schema integration and querying over these systems. The peer-to-peer computing chapter has been updated with a discussion of blockchains. The chapters that describe classical distributed and parallel database technology have all been updated.
The new edition covers the breadth and depth of the field from a modern viewpoint. Graduate students, as well as senior undergraduate students studying computer science and other related fields will use this book as a primary textbook. Researchers working in computer science will also find this textbook useful.
This textbook has a companion web site that includes background information on relational database fundamentals, query processing, transaction management, and computer networks for those who might need this background. The web site also includes all the figures and presentation slides as well as solutions to exercises (restricted to instructors).
Ideas That Created the Future 豆瓣 谷歌图书
作者: Harry R. Lewis MIT Press 2021 - 2
Classic papers by thinkers ranging from from Aristotle and Leibniz to Norbert Wiener and Gordon Moore that chart the evolution of computer science.

Ideas That Created the Future collects forty-six classic papers in computer science that map the evolution of the field. It covers all aspects of computer science: theory and practice, architectures and algorithms, and logic and software systems, with an emphasis on the period of 1936-1980 but also including important early work. Offering papers by thinkers ranging from Aristotle and Leibniz to Alan Turing and Nobert Wiener, the book documents the discoveries and inventions that created today's digital world. Each paper is accompanied by a brief essay by Harry Lewis, the volume's editor, offering historical and intellectual context.
2022年1月30日 想读 截止到1980的计算机经典论文集 类似于数据库的《Readings in Database Systems》
2021 计算机科学
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 计算机科学 算法
暗时间 豆瓣 Goodreads Eggplant.place
8.3 (120 个评分) 作者: 刘未鹏 电子工业出版社 2011 - 7
2003年,刘未鹏在杂志上发表了自己的第一篇文章,并开始写博客。最初的博客较短,也较琐碎,并夹杂着一些翻译的文章。后来渐渐开始有了一些自己的心得和看法。在这8年里,作者平均每个月写1篇博客或更少,但从未停止。这本书便是从刘未鹏8年的博客文章中精选出来的,主要关于心智模式、学习方法和时间利用,《暗时间》的书名便来自于此。
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
本书针对大学程序设计竞赛和课程教学,基于数据结构的知识体系和循序渐进的原则组织内容,包括训练基本编程能力的实验、线性表的编程实验、树的编程实验和图的编程实验四篇,分别介绍了简单计算编程、简单模拟编程、递归与回溯法编程、直接存取类线性表编程、顺序存取类线性表编程、广义索引类线性表编程、线性表排序的编程、采用树结构的非线性表编程、经典二叉树编程、图的遍历算法编程、最小生成树算法编程、最佳路算法编程、二分图和网络流算法编程,以及状态空间搜索编程。每一章在介绍相关的数据结构知识后,均给出相应的实验范例,并在章末给出相关题库。本书实用性强,既可以用作高校数据结构、程序设计语言以及离散数学相关课程的实验教材,也可以用作程序设计竞赛选手的系统训练参考书籍。
啊哈!算法 豆瓣
作者: 啊哈磊 人民邮电出版社 2014 - 6
这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。
这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,
通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜
游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。
本书中涉及到的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及到的算法有排序、枚举、
深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、
割点与割边算法、二分图的最大匹配算法等。
网名啊哈磊。
曾在中科院玩过单片机。武汉大学历史上第一位以本科生身份加入MSRA(微软亚洲研究院)的小伙伴,在机器学习组从事搜索引擎方面的研究。
发表国际会议论文一篇(IEEE)。
全国青少年信息学奥林匹克金牌教练。
超萌超简洁的C语言编译器——“啊哈C编译器”作者。
2013年我的著作,有趣的编程科普书《啊哈C!》出版。
网址:www.ahalei.com
微博:weibo.com/ahalei
非常喜欢小朋友,每天都过得都非常开心。
至于为什么叫“啊哈磊”,因为我觉得这是一个很喜庆的名字。
2021年10月2日 在读
看了《麦克老师讲算法》的Floyd和Dijkstra,就是找这本书的思路讲的,很直观易懂。再用leetcode或SPOJ来加深理解各类算法的应用。挺推荐的,就是书中说会出2,到现在已经7年了都没出。
编程 计算机科学 算法 科普
Natural Language Processing with Transformers 豆瓣
作者: Lewis Tunstall / Leandro von Werra O'Reilly Media 2022 - 4
Since their introduction in 2017, Transformers have quickly become the dominant architecture for achieving state-of-the-art results on a variety of natural language processing tasks. If you're a data scientist or machine learning engineer, this practical book shows you how to train and scale these large models using HuggingFace Transformers, a Python-based deep learning library.
Transformers have been used to write realistic news stories, improve Google Search queries, and even create chatbots that tell corny jokes. In this guide, authors Lewis Tunstall, Leandro von Werra, and Thomas Wolf use a hands-on approach to teach you how Transformers work and how to integrate them in your applications. You'll quickly learn a variety of tasks they can help you solve.
Build, debug, and optimize Transformer models for core NLP tasks, such as text classification, named entity recognition, and question answering
Learn how Transformers can be used for cross-lingual transfer learning
Apply Transformers in real-world scenarios where labeled data is scarce
Make Transformer models efficient for deployment using techniques such as distillation, pruning, and quantization
Train Transformers from scratch and learn how to scale to multiple GPUs and distributed environments
MySQL是怎样运行的 豆瓣 Goodreads
小孩子4919
作者: 小孩子4919 People Post Press 2020 - 11
《MySQL是怎样运行的:从根儿上理解 MySQL》采用诙谐幽默的表达方式,对MySQL的底层运行原理进行了介绍,内容涵盖了使用MySQL的同学在求职面试和工作中常见的一些核心概念。
《MySQL是怎样运行的:从根儿上理解 MySQL》总计22 章,划分为4个部分。第1部分介绍了MySQL入门的一些知识,比如MySQL的服务器程序和客户端程序有哪些、MySQL的启动选项和系统变量,以及使用的字符集等。第2部分是本书后续章节的基础,介绍了MySQL的一些基础知识,比如记录、页面、索引、表空间的结构和用法等。第3部分则与大家在工作中经常遇到的查询优化问题紧密相关,介绍了单表查询、连接查询的执行原理,MySQL基于成本和规则的优化具体指什么,并详细分析了Explain语句的执行结果。第4部分则是与MySQL中的事务和锁相关,介绍了事务概念的来源,MySQL是如何实现事务的,包括redo日志、undo日志、MVCC、各种锁的细节等。
尽管《MySQL是怎样运行的:从根儿上理解 MySQL》在写作时参考的MySQL源代码版本是5.7.22,但是大部分内容与具体的版本号并没有多大关系。无论是很早之前就已身居MySQL专家的人员,还是希望进一步提升技能的DBA,甚至是三五年后才会入行的“萌新”,本书都是他们彻底了解MySQL运行原理的优秀图书。
The Missing README 豆瓣
作者: Chris Riccomini / Dmitriy Ryaboy No Starch Press 2021 - 8
For new software engineers, knowing how to program is only half the battle. You’ll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp. The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade.
Early chapters explain what to expect when you begin your career at a company. The book’s middle section expands your technical education, teaching you how to work with existing codebases, address and prevent technical debt, write production-grade software, manage dependencies, test effectively, do code reviews, safely deploy software, design evolvable architectures, and handle incidents when you’re on-call. Additional chapters cover planning and interpersonal skills such as Agile planning, working effectively with your manager, and growing to senior levels and beyond.
You’ll learn:
How to use the legacy code change algorithm, and leave code cleaner than you found it
How to write operable code with logging, metrics, configuration, and defensive programming
How to write deterministic tests, submit code reviews, and give feedback on other people’s code
The technical design process, including experiments, problem definition, documentation, and collaboration
What to do when you are on-call, and how to navigate production incidents
Architectural techniques that make code change easier
Agile development practices like sprint planning, stand-ups, and retrospectives
This is the book your tech lead wishes every new engineer would read before they start. By the end, you’ll know what it takes to transition into the workplace–from CS classes or bootcamps to professional software engineering.
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(专项突破版):数据结构与算法名企面试题精讲》适合所有正在准备面试的程序员阅读。无论是计算机相关专业的应届毕业生还是初入职场的程序员,本书总结的数据结构和算法的基础知识及解题经验都不仅可以帮助他们提高准备面试的效率,还可以增加他们通过面试的成功率。
黑客与画家 豆瓣 谷歌图书
Hackers and Painters: Big Ideas from the Computer Age
8.6 (247 个评分) 作者: 保罗·格雷厄姆 译者: 阮一峰 人民邮电出版社 2011 - 4
本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。
本书适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。
2021年8月3日 已读
应该一早就读的,作者作为黑客,本科先读的哲学,研究生学计算机人工智能方向,能很本质的思考编程,乃至于将编程作为方法来作用于自我外在的世界。黑客更偏向于艺术家而不是科学家,这一思维方式解决了很多问题,例如如何学习编程,如何思考软件,如何提供服务,怎样平衡有趣的程序vs挣钱的项目,etc。
互联网 创业 计算机科学 软件工程 思维
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份钱
计算机科学 算法
Computer Science 豆瓣 谷歌图书
作者: Subrata Dasgupta OUP Oxford 2016 - 3
Over the past sixty years, the spectacular growth of the technologies associated with the computer is visible for all to see and experience. Yet, the science underpinning this technology is less visible and little understood outside the professional computer science community. As a scientific discipline, computer science stands alongside the likes of molecular biology and cognitive science as one of the most significant new sciences of the post Second World War era.
In this Very Short Introduction, Subrata Dasgupta sheds light on these lesser known areas and considers the conceptual basis of computer science. Discussing algorithms, programming, and sequential and parallel processing, he considers emerging modern ideas such as biological computing and cognitive modelling, challenging the idea of computer science as a science of the artificial.
ABOUT THE SERIES: The Very Short Introductions series from Oxford University Press contains hundreds of titles in almost every subject area. These pocket-sized books are the perfect way to get ahead in a new subject quickly. Our expert authors combine facts, analysis, perspective, new ideas, and enthusiasm to make interesting and challenging topics highly readable.