算法
An Introduction to Kolmogorov Complexity and Its Applications 豆瓣
作者: Ming Li / Paul M.B. Vitányi Springer 2008 - 11
'The book is outstanding and admirable in many respects ...is necessary reading for all kinds of readers from undergraduate students to top authorities in the field' - "Journal of Symbolic Logic". Written by two experts in the field, this is the only comprehensive and unified treatment of the central ideas and applications of Kolmogorov complexity. The book presents a thorough treatment of the subject with a wide range of illustrative applications. Such applications include the randomness of finite objects or infinite sequences, Martin-Loef tests for randomness, information theory, computational learning theory, the complexity of algorithms, and the thermodynamics of computing. It will be ideal for advanced undergraduate students, graduate students, and researchers in computer science, mathematics, cognitive sciences, philosophy, artificial intelligence, statistics, and physics. The book is self-contained in that it contains the basic requirements from mathematics and computer science. Included are also numerous problem sets, comments, source references, and hints to solutions of problems. New topics in this edition include Omega numbers, Kolmogorov-Loveland randomness, universal learning, communication complexity, Kolmogorov's random graphs, time-limited universal distribution, Shannon information and others.
Probably Approximately Correct 豆瓣 Goodreads
作者: Leslie Valiant Basic Books 2013 - 6
How does life prosper in a complex and erratic world? While we know that nature follows patterns - such as the law of gravity - our everyday lives are beyond what known science can predict. We nevertheless muddle through even in the absence of theories of how to act. But how do we do it? In Probably Approximately Correct, computer scientist Leslie Valiant presents a masterful synthesis of learning and evolution to show how both individually and collectively we not only survive, but prosper in a world as complex as our own. The key is "probably approximately correct" algorithms, a concept Valiant developed to explain how effective behavior can be learned. The model shows that pragmatically coping with a problem can provide a satisfactory solution in the absence of any theory of the problem. After all, finding a mate does not require a theory of mating. Valiant's theory reveals the shared computational nature of evolution and learning, and sheds light on perennial questions such as nature versus nurture and the limits of artificial intelligence.
Algorithms + Data Structures = Programs 豆瓣
作者: Niklaus Wirth Prentice Hall 1975 - 11
It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominance), but it is still highly recommended.
It is the single book I learnt most from when I was a freshman studying Computer Science at my local University (when Pascal was already declining, I'm not so old ;-). I wish more recent books were as good as this one, but I have not found a single book so focused and, at the same time, so broad in scope as this one.
Wirth covers programming fundamentals (including recursion), many sorting algorithms, data structures (from simple data collections to B-trees and hashing), and basic compiler technology. That is, four books into one (and, surprisingly, this is not a hefty tome.)
Algorithmic Trading 豆瓣
作者: Ernie Chan Wiley 2013 - 5
Praise for Algorithmic Trading: "Algorithmic Trading is an insightful book on quantitative trading written by a seasoned practitioner. What sets this book apart from many others in the space is the emphasis on real examples as opposed to just theory. Concepts are not only described, they are brought to life with actual trading strategies, which give the reader insight into how and why each strategy was developed, how it was implemented, and even how it was coded. This book is a valuable resource for anyone looking to create their own systematic trading strategies and those involved in manager selection, where the knowledge contained in this book will lead to a more informed and nuanced conversation with managers." (Daren Smith, CFA, CAIA, FSA, Managing Director, Manager Selection & Portfolio Construction, University of Toronto Asset Management). "Using an excellent selection of mean reversion and momentum strategies, Ernie explains the rationale behind each one, shows how to test it, how to improve it, and discusses implementation issues. His book is a careful, detailed exposition of the scientific method applied to strategy development. For serious retail traders, I know of no other book that provides this range of examples and level of detail. His discussions of how regime changes affect strategies, and of risk management, are invaluable bonuses." (Roger Hunter, Mathematician and Algorithmic Trader).
Cracking the Coding Interview, Fourth Edition 豆瓣
作者: Gayle Laakmann CreateSpace 2008 - 10
Now in the 4th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This book provides:
* 150 Programming Interview Questions and Solutions: From binary trees to binary search, this list of 150 questions includes the most common and most useful questions in data structures, algorithms, and knowledge based questions.
* Ten Mistakes Candidates Make -- And How to Avoid Them: Don't lose your dream job by making these common mistakes. Learn what many candidates do wrong, and how to avoid these issues.
* Steps to Prepare for Behavioral and Technical Questions: Stop meandering through an endless set of questions, while missing some of the most important preparation techniques. Follow these steps to more thoroughly prepare in less time.
* Interview War Stories: A View from the Interviewer's Side: Humorous but instructive stories from our interviewers show you how some candidates really flopped on the most important question - and how you can avoid doing the same.
Computer Age Statistical Inference 豆瓣
作者: Bradley Efron / Trevor Hastie Cambridge University Press 2016 - 7
The twenty-first century has seen a breathtaking expansion of statistical methodology, both in scope and in influence. 'Big data', 'data science', and 'machine learning' have become familiar terms in the news, as statistical methods are brought to bear upon the enormous data sets of modern science and commerce. How did we get here? And where are we going? This book takes us on an exhilarating journey through the revolution in data analysis following the introduction of electronic computation in the 1950s. Beginning with classical inferential theories - Bayesian, frequentist, Fisherian - individual chapters take up a series of influential topics: survival analysis, logistic regression, empirical Bayes, the jackknife and bootstrap, random forests, neural networks, Markov chain Monte Carlo, inference after model selection, and dozens more. The distinctly modern approach integrates methodology and algorithms with statistical inference. The book ends with speculation on the future direction of statistics and data science.
Clarifies both traditional methods and current, popular algorithms (e.g. neural nets, random forests)
Written by two world-leading researchers
Addressed to all fields that work with data
Genetic Algorithms in Search, Optimization, and Machine Learning 豆瓣
作者: David E. Goldberg Addison-Wesley Professional 1989 - 1
This book brings together - in an informal and tutorial fashion - the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields. Major concepts are illustrated with running examples, and major algorithms are illustrated by Pascal computer programs. No prior knowledge of GAs or genetics is assumed, and only a minimum of computer programming and mathematics background is required. 0201157675B07092001
Statistical Methods for Speech Recognition 豆瓣
作者: Frederick Jelinek A Bradford Book 1998 - 1
This book reflects decades of important research on the mathematical foundations of speech recognition. It focuses on underlying statistical techniques such as hidden Markov models, decision trees, the expectation-maximization algorithm, information theoretic goodness criteria, maximum entropy probability estimation, parameter and data clustering, and smoothing of probability distributions. The author's goal is to present these principles clearly in the simplest setting, to show the advantages of self-organization from real data, and to enable the reader to apply the techniques.
The Science of The Blockchain 豆瓣
作者: Roger Wattenhofer CreateSpace Independent Publishing Platform 2016 - 1
FinTech developers and managers understand that the blockchain has the potential to disrupt the financial world. The blockchain allows the participants of a distributed system to agree on a common view of the system, to track changes in the system, in a reliable way. In the distributed systems community, agreement techniques have been known long before cryptocurrencies such as Bitcoin (where the term blockchain is borrowed) emerged. Various concepts and protocols exist, each with its own advantages and disadvantages. This book introduces the basic techniques when building fault-tolerant distributed systems, in a scientific way. We will present different protocols and algorithms that allow for fault-tolerant operation, and we will discuss practical systems that implement these techniques.
An Introduction to Genetic Algorithms 豆瓣
作者: Melanie Mitchell / 梅拉妮·米歇尔 MIT Press 1998 - 2
Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems and as computational models of natural evolutionary systems. This brief, accessible introduction describes some of the most interesting research in the field and also enables readers to implement and experiment with genetic algorithms on their own. It focuses in depth on a small set of important and interesting topics--particularly in machine learning, scientific modeling, and artificial life--and reviews a broad span of research, including the work of Mitchell and her colleagues. The descriptions of applications and modeling projects stretch beyond the strict boundaries of computer science to include dynamical systems theory, game theory, molecular biology, ecology, evolutionary biology, and population genetics.
Ideals, Varieties, and Algorithms 豆瓣
作者: David A. Cox / John Little Springer 2015 - 4
This text covers topics in algebraic geometry and commutative algebra with a strong perspective toward practical and computational aspects. The first four chapters form the core of the book. A comprehensive chart in the Preface illustrates a variety of ways to proceed with the material once these chapters are covered. In addition to the fundamentals of algebraic geometry—the elimination theorem, the extension theorem, the closure theorem and the Nullstellensatz—this new edition incorporates several substantial changes, all of which are listed in the Preface. The largest revision incorporates a new Chapter (ten), which presents some of the essentials of progress made over the last decades in computing Gröbner bases. The book also includes current computer algebra material in Appendix C and updated independent projects (Appendix D).
The book may serve as a first or second course in undergraduate abstract algebra and with some supplementation perhaps, for beginning graduate level courses in algebraic geometry or computational algebra. Prerequisites for the reader include linear algebra and a proof-oriented course.It is assumed that the reader has access to a computer algebra system. Appendix C describes features of Maple™, Mathematica® and Sage, as well as other systems that are most relevant to the text. Pseudocode is used in the text; Appendix B carefully describes the pseudocode used.
Programming Interviews Exposed 豆瓣
作者: John Mongan / Noah Kindler Wrox 2012 - 11
Be prepared for your next job interview with this tried-and-true advice In today's tight job market, competition for programming jobs is hotter than ever. This third edition of a popular guide to programming interviews includes new code examples, information on the latest languages, new chapters on sorting and design patterns, tips on using LinkedIn, and a downloadable app to help prepare applicants for the interview. Like its earlier editions, this guide covers what software companies and IT departments want their programmers to know and includes plenty of helpful hints to boost your confidence. Looks at current job search and hiring processes, such as the rise of LinkedIn and other social networks as recruiting resources Addresses the most important languages for a programmer to know and features examples in multiple languages Includes new programming questions designed to sharpen your knowledge Features all-new chapters on design patterns and sorting, including how to deal with memory constraints and mobility issues Walk into your next job interview with confidence, knowing you have thoroughly studied this newest edition of Programming Interviews Exposed .
Algorithms in C++ Part 5 豆瓣
作者: [美国] Robert Sedgewick Addison-Wesley Professional 2002 - 1
Graph algorithms are critical for a wide range of applications, including network connectivity, circuit design, scheduling, transaction processing, and resource allocation. The latest in Robert Sedgewick's classic series on algorithms, this is the field's definitive guide to graph algorithms for C++. Far more than a "revision," this is a thorough rewriting, five times as long as the previous edition, with a new text design, innovative new figures, more detailed descriptions, and many new exercises -- all designed to dramatically enhance the book's value to developers, students, and researchers alike. The book contains six chapters covering graph properties and types, graph search, directed graphs, minimal spanning trees, shortest paths, and networks -- each with diagrams, sample code, and detailed descriptions intended to help readers understand the basic properties of as broad a range of fundamental graph algorithms as possible. The basic properties of these algorithms are developed from first principles; discussion of advanced mathematical concepts is brief, general, and descriptive, but proofs are rigorous and many open problems are discussed. Sedgewick focuses on practical applications, giving readers all the information and real (not pseudo-) code they need to confidently implement, debug, and use the algorithms he covers. (Also available: Algorithms in C++: Parts 1-4, Third Edition, ISBN: 0-201-35088-2).
Data Structures & Algorithms in Java 豆瓣
作者: Michael T. Goodrich / Roberto Tamassia Wiley 2014
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.
Computability 豆瓣
作者: Nigel Cutland Cambridge University Press 1980
What can computers do in principle? What are their inherent theoretical limitations? These are questions to which computer scientists must address themselves. The theoretical framework which enables such questions to be answered has been developed over the last fifty years from the idea of a computable function: intuitively a function whose values can be calculated in an effective or automatic way. This book is an introduction to computability theory (or recursion theory as it is traditionally known to mathematicians). Dr Cutland begins with a mathematical characterisation of computable functions using a simple idealised computer (a register machine); after some comparison with other characterisations, he develops the mathematical theory, including a full discussion of non-computability and undecidability, and the theory of recursive and recursively enumerable sets. The later chapters provide an introduction to more advanced topics such as Gildel's incompleteness theorem, degrees of unsolvability, the Recursion theorems and the theory of complexity of computation. Computability is thus a branch of mathematics which is of relevance also to computer scientists and philosophers. Mathematics students with no prior knowledge of the subject and computer science students who wish to supplement their practical expertise with some theoretical background will find this book of use and interest.
Numerical Optimization 豆瓣
作者: Jorge Nocedal / Stephen Wright Springer 2006 - 7
Optimization is an important tool used in decision science and for the analysis of physical systems used in engineering. One can trace its roots to the Calculus of Variations and the work of Euler and Lagrange. This natural and reasonable approach to mathematical programming covers numerical methods for finite-dimensional optimization problems. It begins with very simple ideas progressing through more complicated concepts, concentrating on methods for both unconstrained and constrained optimization.
Automating Inequality 豆瓣
作者: Virginia Eubanks St. Martin's Press 2018 - 1
A powerful investigative look at data-based discrimination―and how technology affects civil and human rights and economic equity
The State of Indiana denies one million applications for healthcare, foodstamps and cash benefits in three years―because a new computer system interprets any mistake as “failure to cooperate.” In Los Angeles, an algorithm calculates the comparative vulnerability of tens of thousands of homeless people in order to prioritize them for an inadequate pool of housing resources. In Pittsburgh, a child welfare agency uses a statistical model to try to predict which children might be future victims of abuse or neglect.
Since the dawn of the digital age, decision-making in finance, employment, politics, health and human services has undergone revolutionary change. Today, automated systems―rather than humans―control which neighborhoods get policed, which families attain needed resources, and who is investigated for fraud. While we all live under this new regime of data, the most invasive and punitive systems are aimed at the poor.
In Automating Inequality, Virginia Eubanks systematically investigates the impacts of data mining, policy algorithms, and predictive risk models on poor and working-class people in America. The book is full of heart-wrenching and eye-opening stories, from a woman in Indiana whose benefits are literally cut off as she lays dying to a family in Pennsylvania in daily fear of losing their daughter because they fit a certain statistical profile.
The U.S. has always used its most cutting-edge science and technology to contain, investigate, discipline and punish the destitute. Like the county poorhouse and scientific charity before them, digital tracking and automated decision-making hide poverty from the middle-class public and give the nation the ethical distance it needs to make inhumane choices: which families get food and which starve, who has housing and who remains homeless, and which families are broken up by the state. In the process, they weaken democracy and betray our most cherished national values.
This deeply researched and passionate book could not be more timely.
Outnumbered 豆瓣 Goodreads
作者: David Sumpter Bloomsbury Sigma 2018 - 6
Outnumbered is a journey to the dark side of mathematics, from how it dictates our social media activities to our travel routes. Algorithms are running our society, and as Facebook's Cambridge Analytica scandal has revealed, we don't even realize how our data has been used against us. David Sumpter investigates whether mathematics is crossing dangerous lines when it comes to what we can make decisions about. Our increasing reliance on technology and the internet has opened a window for mathematicians and data researchers to gaze through into our lives. Using the data they are constantly collecting about where we travel, where we shop, what we buy, and what interests us, they can begin to predict our daily habits, and increasingly we are relinquishing our decision-making to algorithms. Are we giving this up too easily?Without understanding what mathematics can and can't do it is impossible to get a handle on how it is changing our lives. In this book, David Sumpter takes an algorithm-strewn journey to the dark side of mathematics. He investigates the equations that analyze us, influence us and will (maybe) become like us, answering questions like:Who are Cambridge Analytica, and what are they doing with our data?How does Facebook build a 100-dimensional picture of your personality?Are Google algorithms racist and sexist?Why do election predictions fail so drastically? Are algorithms that are designed to find criminals making terrible mistakes?What does the future hold as we relinquish our decision-making to machines?Featuring interviews with those working at the cutting edge of algorithm, Outnumbered explains how mathematics and statistics work in the real world, and what we should and shouldn't worry about.
Algorithms Illuminated 豆瓣
作者: Tim Roughgarden Soundlikeyourself Publishing 2017 - 9
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject for anyone with at least a little programming experience. The exposition emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details---like a transcript of what an expert algorithms tutor would say over a series of one-on-one lessons. Part 1 covers asymptotic analysis and big-O notation, divide-and-conquer algorithms and the master method, randomized algorithms, and several famous algorithms for sorting and selection.