
Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: 12th International Symposium, AAECC-12, Toulouse, France, June, 23-27, 1997, Proceedings (Lecture Notes in Computer Science)
This book constitutes the strictly refereed proceedings of the 12th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, AAECC-12, held in Toulouse, France, June 1997.
The 27 revised full papers presented were carefully selected by the program committee for inclusion in the volume. The papers address a broad range of current issues in coding theory and computer algebra spanning polynomials, factorization, commutative algebra, real geometry, group theory, etc. on the mathematical side as well as software systems, telecommunication, complexity theory, compression, signal processing, etc. on the computer science and engineering side.
Sunday, June 7, 2009
Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: 12th International Symposium, AAECC-12, Toulouse, France, June, 23-27, 1997, Proceed
Feasibility and Infeasibility in Optimization:: Algorithms and Computational Methods (International Series in Operations Research & Management Science

Feasibility and Infeasibility in Optimization:: Algorithms and Computational Methods (International Series in Operations Research & Management Science)
Constrained optimization models are core tools in business, science, government, and the military with applications including airline scheduling, control of petroleum refining operations, investment decisions, and many others. Constrained optimization models have grown immensely in scale and complexity in recent years as inexpensive computing power has become widely available. Models now frequently have many complicated interacting constraints, giving rise to a host of issues related to feasibility and infeasibility. For example, it is sometimes difficult to find any feasible point at all for a large model, or even to accurately determine if one exists, e.g. for nonlinear models. If the model is feasible, how quickly can a solution be found? If the model is infeasible, how can the cause be isolated and diagnosed? Can a repair to restore feasibility be carried out automatically? Researchers have developed numerous algorithms and computational methods in recent years to address such issues, with a number of surprising spin-off applications in fields such as artificial intelligence and computational biology. Over the same time period, related approaches and techniques relating to feasibility and infeasibility of constrained problems have arisen in the constraint programming community.
Feasibility and Infeasibility in Optimization is a timely expository book that summarizes the state of the art in both classical and recent algorithms related to feasibility and infeasibility in optimization, with a focus on practical methods. All model forms are covered, including linear, nonlinear, and mixed-integer programs. Connections to related work in constraint programming are shown. Part I of the book addresses algorithms for seeking feasibility quickly, including new methods for the difficult cases of nonlinear and mixed-integer programs. Part II provides algorithms for analyzing infeasibility by isolating minimal infeasible (or maximum feasible) subsets of constraints, or by finding the best repair for the infeasibility. Infeasibility analysis algorithms have arisen primarily over the last two decades, and the book covers these in depth and detail. Part III describes applications in numerous areas outside of direct infeasibility analysis such as finding decision trees for data classification, analyzing protein folding, radiation treatment planning, automated test assembly, etc.
A main goal of the book is to impart an understanding of the methods so that practitioners can make immediate use of existing algorithms and software, and so that researchers can extend the state of the art and find new applications. The book is of interest to researchers, students, and practitioners across the applied sciences who are working on optimization problems.
Computer Algorithms: Introduction to Design and Analysis (Addison-Wesley Series in Computer Science)

Computer Algorithms: Introduction to Design and Analysis (Addison-Wesley Series in Computer Science)
Drawing upon combined decades of teaching experience, Professors Sara Baase and Allen Van Gelder have extensively revised this best seller on algorithm design and analysis to make it the most current and accessible book available. This edition features an increased emphasis on algorithm design techniques such as divide-and-conquer and greedy algorithms, along with the addition of new topics and exercises. It continues the tradition of solid mathematical analysis and clear writing style that made it so popular in previous editions.
Customer Review: poorly executed text
This textbook is a mess. It is not elegant or clear, and their coverage of certain topics is confusing and deviates from standard practice. If your algorithms class is using this text, find some friends to pool together and get a copy for the exercises if they are used, otherwise take the book from MIT by Rivest et al out of the library and read that.
Introduction to Algorithms
Customer Review: Worst book I ever read
I would have rated "0 stars " if poosible in the selection.
Since this is the textbook for my course I have to deal with this book. The way things are mentioned in this book I doubt whether the authors have even understood the concepts right. I think that the authors themselves are confused while writing this book.
If this book is for your course, drop the course before it is too late.
Friday, June 5, 2009
New Algorithms for Macromolecular Simulation (Lecture Notes in Computational Science and Engineering)

New Algorithms for Macromolecular Simulation (Lecture Notes in Computational Science and Engineering)
Molecular simulation is a widely used tool in biology, chemistry, physics and engineering. This book contains a collection of articles by leading researchers who are developing new methods for molecular modelling and simulation. Topics addressed here include: multiscale formulations for biomolecular modelling, such as quantum-classical methods and advanced solvation techniques; protein folding methods and schemes for sampling complex landscapes; membrane simulations; free energy calculation; and techniques for improving ergodicity. The book is meant to be useful for practitioners in the simulation community and for those new to molecular simulation who require a broad introduction to the state of the art.
Computational Probability: Algorithms and Applications in the Mathematical Sciences

Computational Probability: Algorithms and Applications in the Mathematical Sciences (International Series in Operations Research & Management Science)
Computational probability encompasses data structures and algorithms that have emerged over the past decade that allow researchers and students to focus on a new class of stochastic problems. COMPUTATIONAL PROBABILITY is the first book that examines and presents these computational methods in a systematic manner. The techniques described here address problems that require exact probability calculations, many of which have been considered intractable in the past. The first chapter introduces computational probability analysis, followed by a chapter on the Maple computer algebra system. The third chapter begins the description of APPL, the probability modeling language created by the authors. The book ends with three applications-based chapters that emphasize applications in survival analysis and stochastic simulation.
The algorithmic material associated with continuous random variables is presented separately from the material for discrete random variables. Four sample algorithms, which are implemented in APPL, are presented in detail: transformations of continuous random variables, products of independent continuous random variables, sums of independent discrete random variables, and order statistics drawn from discrete populations.
The APPL computational modeling language gives the field of probability a strong software resource to use for non-trivial problems and is available at no cost from the authors. APPL is currently being used in applications as wide-ranging as electric power revenue forecasting, analyzing cortical spike trains, and studying the supersonic expansion of hydrogen molecules. Requests for the software have come from fields as diverse as market research, pathology, neurophysiology, statistics, engineering, psychology, physics, medicine, and chemistry.
Handbook of Algorithms for Wireless Networking and Mobile Computing (Chapman & Hall/Crc Computer & Information Science)

Handbook of Algorithms for Wireless Networking and Mobile Computing (Chapman & Hall/Crc Computer & Information Science)
Most of the available literature in wireless networking and mobile computing concentrates on the physical aspect of the subject, such as spectrum management and cell re-use. In most cases, a description of fundamental distributed algorithms that support mobile hosts in a wireless environment is either not included or is only briefly discussed. Handbook of Algorithms for Wireless Networking and Mobile Computing focuses on several aspects of mobile computing, particularly algorithmic methods and distributed computing with mobile communications capability. This volume provides the topics that are crucial for building the foundation for the design and construction of future generations of mobile and wireless networks, including cellular, wireless ad hoc, sensor, and ubiquitous networks. Following an analysis of fundamental algorithms and protocols, the book offers a basic overview of wireless technologies and networks and a discussion of the convergence of communication and computation. Other topics include issues related to mobility, with a focus on the creation of techniques that control associated uncertainties; aspects of QoS provisioning in wireless networks; a comparison of numerous wireless TCP proposals; a review of fundamental algorithms for Bluetooth wireless personal area networks (WPANs); and investigations of future voice and video access networks; and a review of potential applications of pervasive computing and mobile e-commerce.
Customer Review: timely summary of methods in this field
In typical CRC fashion, this book offers a good summary of its field. There is an authoritative treatment of the key algorithms in wireless nets or for mobile computing. The book brings together the equivalent of centuries of person-years in research and development.
The methods in the book are basically state of the art. At least as far as publicly revealed methods are concerned.
The field is still undergoing active development. The book discusses how quality of service issues are currently handled. One area worthy of improvement.
Thursday, June 4, 2009
Algorithms and Data Structures: Design Correctness Analysis (International computer science series)
Algorithms and Data Structures: Design Correctness Analysis (International computer science series)
Customer Review: Advance, Useful, Helpful
If you are a computer science student or advance programmer, you should get this book. The diagrams and descriptions in the book give you insights of the advance programming which would help you. However you may get confused because the examples in the book is using the programming language Eiffel. You would like this book if and only if you like hard coding.
Numerical Simulation in Molecular Dynamics: Numerics, Algorithms, Parallelization, Applications (Texts in Computational Science and Engineering

Numerical Simulation in Molecular Dynamics: Numerics, Algorithms, Parallelization, Applications (Texts in Computational Science and Engineering)
Particle models play an important role in many applications in physics, chemistry and biology. They can be studied on the computer with the help of molecular dynamics simulations. This book presents in detail both the necessary numerical methods and techniques (linked-cell method, SPME-method, tree codes, multipole technique) and the theoretical background and foundations. It illustrates the aspects modelling, discretization, algorithms and their parallel implementation with MPI on computer systems with distributed memory. Furthermore, detailed explanations are given to the different steps of numerical simulation, and code examples are provided. With the description of the algorithms and the presentation of the results of various simulations from the areas material science, nanotechnology, biochemistry and astrophysics, the reader of this book will be able to write his own programs for molecular dynamics step by step and to run successful experiments.
Algorithms in Combinatorial Geometry (Monographs in Theoretical Computer Science : an EATCS Series)

Algorithms in Combinatorial Geometry (Monographs in Theoretical Computer Science : an EATCS Series)
Product Description
This book offers a modern approach to computational geo- metry, an area thatstudies the computational complexity of geometric problems. Combinatorial investigations play an important role in this study.
Monday, June 1, 2009
Combinatorial Algorithms for Computers and Calculators (Computer science and applied mathematics)
Combinatorial Algorithms for Computers and Calculators (Computer science and applied mathematics)
Excerpts from the Introduction:
This book can be read at several levels. Those whose only need is to use one of the computer programs can turn immediately to those pages and satisfy their wants. Thus, on one level, this is a collection of subroutines, in FORTRAN, for the solution of combinatorial problems.
At the other extreme, pure mathematicians with no need of computer programs will find much that is new and hopefully interesting in these pages. For example, in the special section Deus ex Machina (pp. 78-87), the random selection algorithms of Chapters 10, 12, and 29 are shown to be manifestations of a general phenomenon which sheds light on a number of seemingly unrelated threads of research in combinatorial analysis.
Between these two extremes is a rapidly growing category of (frequently youthful) persons who have access to a fancy calculator (hand-held or table-top). They may not be interested in either the de tailed mathematics or the FORTRAN programs - yet we hope they will find much to stimulate them and help them prepare their own programs.
Our hope, however, is that many readers will want to follow the entire road from general mathematics to particular mathematics to informal algorithm to formal algorithm to computer program and back again, which occurs in virtually every chapter of the book.
Our other hope is that readers will view these methods and programs as a beginning set of building blocks for their own kit of tools and will go on to add to these tools to meet their own needs, so that the contents of this book will be not a collection of pretty artifacts to be looked at but basic elements of the growing and working equipment of scientific investigation and learning.
Handbook of Bioinspired Algorithms and Applications (Chapman & Hall/Crc Computer & Information Science)

Handbook of Bioinspired Algorithms and Applications (Chapman & Hall/Crc Computer & Information Science)
The mystique of biologically inspired (or bioinspired) paradigms is their ability to describe and solve complex relationships from intrinsically very simple initial conditions and with little or no knowledge of the search space. Edited by two prominent, well-respected researchers, the Handbook of Bioinspired Algorithms and Applications reveals the connections between bioinspired techniques and the development of solutions to problems that arise in diverse problem domains. A repository of the theory and fundamentals as well as a manual for practical implementation, this authoritative handbook provides broad coverage in a single source along with numerous references to the available literature for more in-depth information. The book's two sections serve to balance coverage of theory and practical applications. The first section explains the fundamentals of techniques, such as evolutionary algorithms, swarm intelligence, cellular automata, and others. Detailed examples and case studies in the second section illustrate how to apply the theory in actually developing solutions to a particular problem based on a bioinspired technique. Emphasizing the importance of understanding and harnessing the robust capabilities of bioinspired techniques for solving computationally intractable optimizations and decision-making applications, the Handbook of Bioinspired Algorithms and Applications is an absolute must-read for anyone who is serious about advancing the next generation of computing.
Customer Review: Handbook of Bioinspired Algorithms and Applications
I am using the book now for class work. I find it easy to read and comprehensible.
Algorithms & Data Structures: The Science Of Computing (Electrical and Computer Engineering Series)

Algorithms & Data Structures: The Science Of Computing (Electrical and Computer Engineering Series)
While many computer science textbooks are confined to teaching programming code and languages, Algorithms and Data Structures: The Science of Computing takes a step back to introduce and explore algorithms -- the content of the code. Focusing on three core topics: design (the architecture of algorithms), theory (mathematical modeling and analysis), and the scientific method (experimental confirmation of theoretical results), the book helps students see that computer science is about problem solving, not simply the memorization and recitation of languages. Unlike many other texts, the methods of inquiry are explained in an integrated manner so students can see explicitly how they interact. Recursion and object oriented programming are emphasized as the main control structure and abstraction mechanism, respectively, in algorithm design. Designed for the CS2 course, the book includes text exercises and has laboratory exercises at the supplemental Web site.
Customer Review: A good mix of programming and algorithms design
Algorithm and Algorithm design is a difficult topic to talk about or to learn. It is probably one of the most complex topics in the field of Computer Science and Mathematics, mostly due to its abstractness. Proof after proof, theory after theory, and complex mathematical expressions make the topic very difficult to grasp at times. The authors of Algorithms and Data Structures have taken this notion into account, and wrote this book in such a way that a Computer Science major student can relate popular programming and problems that we come across everyday to the notion of algorithm and complexity. The Java programming language is utilizes throughout the book, and the authors, D. Bladwin and G. W. Scragg, write pseudo-Java-code to demonstrate how, for example, various versions of the quicksort algorithm are coded. Programming is obviously not the focus of this book, but the code snippets are certainly a good teaching aid for the novice readers.
The book starts off with the basic ground work surrounding algorithms: what is a proof? Computer Science, Mathematics and theory, etc.. It basically answers the question why anyone should bother learning about algorithms and the complexity that surrounds this topic. The authors then take a rather unique approach to the theory behind algorithms by discussing program recursion and iteration. It seems a little odd, but it turns out to be a very good way to introduce readers to topic algorithms. Recursions is a topic covered in CS1 courses, and using that as the basis and introduction to algorithm design and correctness proof really reels in the reader and makes the topic easier to grasp.
After discussing algorithms basics, and showing the readers what algorithm efficiency, etc is, the authors take on the second part of the book which covers the data structures aspects of things. List, Queues, Stacks, Trees, etc... are all covered in detail. Algorithms that were discussed earlier in the text are applied to the data structures, and the complexity of each algorithm is actually depicted thru examples, pseudocode, and followed by its mathematical analysis. The text, in general, is focused around the concept of objects, abstract data types, and core object orientation techniques, and the presented material is targeted as such.
Towards the end of the text, the authors give the readers a brief but concise overview what's to come. Topics such as complexity, the undecideability, nondeterminism and the surrounding problems such as the HALTing problem, the Traveling Salesman Problem, etc... are touched. The authors pose some very interesting questions for the readers in the context of the HALTing problem as it pertains to complier design. These problems in their general form are unsolvable, and the authors make a very good case on why we care about such problems and issues.
In addition to being a very easy text read, the authors have filled each chapter with sample problems, examples, and techniques. For the second year computer science student, or a professional interested in the field of algorithm design and complexity analysis, I highly recommend reading this text.
Customer Review: College level computer science textbook
"Algorithms and Data Structures: The Science of Computing" is designed as a second course computer science textbook for colleges. At this level most computer sciences classes tend to focus on programming and programming theory. While it does have some programming examples (all in Java), this book takes a more overall view and deals with the basics of algorithms and data structures. Why is this an important difference? I have seen a lot of bloated code over the years where a programmer writes a hundred or more lines of code to do something that a couple of lines could do if they only had a better understanding of algorithms. This course gives you the conceptual knowledge you need to be able to adapt to other computer languages and coding techniques as they are developed.
The book does make some assumptions about the reader. First, it assumes the reader has had an introductory course in an object-oriented programming language. As indicated earlier, all examples are in Java, but you should be able to follow along if you have had a course in any object-oriented language. Second, the book also assumes a good (but not necessarily college level) background in mathematics.
This is a foundational course in the design of algorithms, and data structures and mathematical theory to predict and verify, as well as empirical analysis to test the results. "Algorithms and Data Structures: The Science of Computing" is a recommended book as a second course in a computer sciences degree as well as a foundational course for those who are trying to develop a broad basis of computer knowledge at home.
Sunday, May 31, 2009
Propositional Logic: Deduction and Algorithms (Cambridge Tracts in Theoretical Computer Science)

Propositional Logic: Deduction and Algorithms (Cambridge Tracts in Theoretical Computer Science)
This introduction to classical logic emphasises computational aspects. The authors treat issues of complexity and algorithmic analysis that have traditionally not been considered the realm of mathematical logic, but which are vital in areas such as automated reasoning, knowledge engineering, logic programming and AI.In order to make the book suited for teaching and for self-study, the book includes a systematic account of theoretical results, as well as an exposition of those appropriate algorithms which incorporate them.
Cellular Genetic Algorithms (Operations Research/Computer Science Interfaces Series)

Cellular Genetic Algorithms (Operations Research/Computer Science Interfaces Series)
Cellular Genetic Algorithms defines a new class of optimization algorithms based on the concepts of structured populations and Genetic Algorithms (GAs). The authors explain and demonstrate the validity of these cellular genetic algorithms throughout the book. This class of genetic algorithms is shown to produce impressive results on a whole range of domains, including complex problems that are epistatic, multi-modal, deceptive, discrete, continuous, multi-objective, and random in nature. The focus of this book is twofold. On the one hand, the authors present new algorithmic models and extensions to the basic class of Cellular GAs in order to tackle complex problems more efficiently. On the other hand, practical real world tasks are successfully faced by applying Cellular GA methodologies to produce workable solutions of real-world applications. These methods can include local search (memetic algorithms), cooperation, parallelism, multi-objective, estimations of distributions, and self-adaptive ideas to extend their applicability.
The methods are benchmarked against well-known metaheuristics like Genetic Algorithms, Tabu Search, heterogeneous GAs, Estimation of Distribution Algorithms, etc. Also, a publicly available software tool is offered to reduce the learning curve in applying these techniques. The three final chapters will use the classic problem of “vehicle routing” and the hot topics of “ad-hoc mobile networks” and “DNA genome sequencing” to clearly illustrate and demonstrate the power and utility of these algorithms.
Algorithms (Addison-Wesley series in computer science)
Algorithms (Addison-Wesley series in computer science)
Customer Review: Good introductory text
I found this book at a university book shop back when I was 14 years old and bought it to learn more about certain algorithms. The reason I bought it was because it looked like it would provide very concrete advice on how to achieve an implementation while not requiring more advanced mathematics than I knew at the time.
Now, many years later I have to say that I can't think of any algorithm book I've come across that manages to balance theory and concrete solutions so well; and I own quite a few books on algorithms. (Some might object to the fact that the book uses Pascal as the implementation language, but I think I've seen this book tailored for other languages too).
Also, for a general book on algorithms, Sedgewick managed to pick a very good mix of topics to cover. According to a friend of mine (whom happens to know Sedgewick personally), the book just represents a cross-section of what Sedgewick himself was interested in.
This book was very useful to me when I was a teenager starting to understand bread and butter algorithms, and it continues to be a good reference still to this day. I would recommend you buy this book if you need a good book on fundamental algorithms.
(Also, the typography is very sober and clean, and the illustrations to most of the problems are very clear)
Customer Review: A classic when looking for information about algorithms
When having to solve problems regarding algorithms, this book is one of the frequently used books. It shows besides the interesting details also the larger overview, which certainly adds to your better understanding.
Learning to Classify Text Using Support Vector Machines: Methods, Theory and Algorithms (The Springer International Series in Engineering and Computer

Learning to Classify Text Using Support Vector Machines: Methods, Theory and Algorithms (The Springer International Series in Engineering and Computer Science)
Text Classification, or the task of automatically assigning semantic categories to natural language text, has become one of the key methods for organizing online information. Since hand-coding classification rules is costly or even impractical, most modern approaches employ machine learning techniques to automatically learn text classifiers from examples. However, none of these conventional approaches combines good prediction performance, theoretical understanding, and efficient training algorithms.
Based on ideas from Support Vector Machines (SVMs), Learning To Classify Text Using Support Vector Machines presents a new approach to generating text classifiers from examples. The approach combines high performance and efficiency with theoretical understanding and improved robustness. In particular, it is highly effective without greedy heuristic components. The SVM approach is computationally efficient in training and classification, and it comes with a learning theory that can guide real-world applications.
Learning To Classify Text Using Support Vector Machines gives a complete and detailed description of the SVM approach to learning text classifiers, including training algorithms, transductive text classification, efficient performance estimation, and a statistical learning model of text classification. In addition, it includes an overview of the field of text classification, making it self-contained even for newcomers to the field. This book gives a concise introduction to SVMs for pattern recognition, and it includes a detailed description of how to formulate text-classification tasks for machine learning.
Learning To Classify Text Using Support Vector Machines is designed as a reference for researchers and practitioners, and is suitable as a secondary text for graduate-level students in Computer Science within Machine Learning and Language Technology.
Customer Review: The Gold standard
This is a must read for anyone beginning to investigate the analysis of meaning in text using computational methods. I found the initial sections were useful in bringing together my thought on many different aspects of the topic.
Customer Review: Wonderful book on the subject
This is a Tesis Work, it contains a review and conmparation of several learners. It focuses mainly on SVM.
Saturday, May 30, 2009
An Introduction to Data Structures and Algorithms (Progress in Computer Science and Applied Logic)

An Introduction to Data Structures and Algorithms (Progress in Computer Science and Applied Logic)
Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation.
Key features:
* Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code."
* Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience.
* Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1-4.
* Chapters 1-4. This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A yearlong course may be based on the entire book.
* Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures.
* Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel architectures will prevail in the future, the idea is to further teach fundamental concepts in the design of algorithms by exploring classic models of parallel computation, including the PRAM, generic PRAM simulation, HC/CCC/Butterfly, the mesh, and parallel hardware area-time tradeoffs (with many examples).
Apart from classroom use, this book serves as a good reference on the subject of data structures and algorithms. Its page-at-a-time format makes it easy to review material that the reader has studied in the past.
Customer Review: For Serious Developers
If you have cut your teeth on Donald Knuth's classic three volumes, "The Art of Computer Programming", and you want more detail, at a similar level of complexity, then consider Storer's book.
It delves into lists, recursion, trees, graphs, heaps and sets. Like Knuth, Storer thoughtfully supplies an extensive list of questions at the end of each chapter that will greatly deepen your appreciation of the field if you tackle them. Ok, he doesn't give answers, but think of that as greater incentive on your part to solve them. There are almost 400 questions in the book.
The teaching style is similar to Knuth, in that it has all the rigour needed by an algorithm designer like yourself, without drowning you in epsilon-delta ultra rigour like a pure maths text.
Note that the only code fragments are in pseudocode. This should not be a problem for you. I am assuming you are experienced enough that what you need is understanding of an algorithm, and that manually converting it to code is straightforward and a purely secondary issue.
The take home message is that this is excellent for anyone doing serious programming.
Petascale Computing: Algorithms and Applications (Chapman & Hall/Crc Computational Science Series)

Petascale Computing: Algorithms and Applications (Chapman & Hall/Crc Computational Science Series)
Although the highly anticipated petascale computers of the near future will perform at an order of magnitude faster than today’s quickest supercomputer, the scaling up of algorithms and applications for this class of computers remains a tough challenge. From scalable algorithm design for massive concurrency toperformance analyses and scientific visualization, Petascale Computing: Algorithms and Applications captures the state of the art in high-performance computing algorithms and applications. Featuring contributions from the world’s leading experts in computational science, this edited collection explores the use of petascale computers for solving the most difficult scientific and engineering problems of the current century.
Covering a wide range of important topics, the book illustrates how petascale computing can be applied to space and Earth science missions, biological systems, weather prediction, climate science, disasters, black holes, and gamma ray bursts. It details the simulation of multiphysics, cosmological evolution, molecular dynamics, and biomolecules. The book also discusses computational aspects that include the Uintah framework, Enzo code, multithreaded algorithms, petaflops, performance analysis tools, multilevel finite element solvers, finite element code development, Charm++, and the Cactus framework.
Supplying petascale tools, programming methodologies, and an eight-page color insert, this volume addresses the challenging problems of developing application codes that can take advantage of the architectural features of the new petascale systems in advance of their first deployment.
Handbook of Approximation Algorithms and Metaheuristics (Chapman & Hall/Crc Computer and Information Science Series)

Handbook of Approximation Algorithms and Metaheuristics (Chapman & Hall/Crc Computer and Information Science Series)
Delineating the tremendous growth in this area, the Handbook of Approximation Algorithms and Metaheuristics covers fundamental, theoretical topics as well as advanced, practical applications. It is the first book to comprehensively study both approximation algorithms and metaheuristics. Starting with basic approaches, the handbook presents the methodologies to design and analyze efficient approximation algorithms for a large class of problems, and to establish inapproximability results for another class of problems. It also discusses local search, neural networks, and metaheuristics, as well as multiobjective problems, sensitivity analysis, and stability. After laying this foundation, the book applies the methodologies to classical problems in combinatorial optimization, computational geometry, and graph problems. In addition, it explores large-scale and emerging applications in networks, bioinformatics, VLSI, game theory, and data analysis. Undoubtedly sparking further developments in the field, this handbook provides the essential techniques to apply approximation algorithms and metaheuristics to a wide range of problems in computer science, operations research, computer engineering, and economics. Armed with this information, researchers can design and analyze efficient algorithms to generate near-optimal solutions for a wide range of computational intractable problems.
#BREAK#
Friday, May 29, 2009
Data Structures and Algorithms with Object-Oriented Design Patterns in Java (Worldwide Series in Computer Science)

Data Structures and Algorithms with Object-Oriented Design Patterns in Java (Worldwide Series in Computer Science)
Create sound software designs with data structures that use modern object-oriented design patterns! Author Bruno Preiss presents the fundamentals of data structures and algorithms from a modern, object-oriented perspective. The text promotes object-oriented design using Java and illustrates the use of the latest object-oriented design patterns. Virtually all the data structures are discussed in the context of a single class hierarchy. This framework clearly shows the relationships between data structures and illustrates how polymorphism and inheritance can be used effectively. Key Features of the Text
* All data structures are presented using a common framework. This shows the relationship between the data structures and how they are implemented.
* Object-oriented design patterns are used to demonstrate how a good design fits together and transcends the problem at hand.
* A single Java software design is used throughout the text to provide a better understanding of the operation of complicated data structures.
* Just-in-time presentation of mathematical analysis techniques introduces students to mathematical concepts as needed.
Visit the Text's Web Site A comprehensive web site is available for users of the text at www.wiley.com/college/preiss. The site includes:
* The Web Book (a hypertext version of the complete book)
* Links to the Java Source Code (all the program examples from the text)
* Opus5 Package (a Java package comprised of all the source code from the text)
* Documentation (source code documentation)
* Demo Applets (various Java applets that illustrate data structures and algorithms from the text)
* Archive (JAR format archive of the source code from the text)
* Front Matter (table of contents and preface)
* Solutions Manual (password required)
* Errata
Customer Review: Terribly written
I have taken several math and computer programming courses. This it the worst book I have ever been forced used. I had a hard time recalling some of the math that is used immediately, the explanations are terrible to say the least. I tried for hours to figure it out using just that book. When I got home I found a different reference and had it figure out in one minutes. So basically the problems I am assigned I have to learn from another source to do... that shouldn't be. Find another author that cares if he makes sense or not, one that doesn't assume you will understand it regardless of how it is explained.... "such is higher education these days" I wish I could slap that guy.
Customer Review: Average and TOO much mathematics
The initial sections of the book focus on too much mathematical formula without providing plain English examples especially in the asymptotic analysis sections. Isn't there a book out there which explains in plain simple English? It also uses misleading terms like "external nodes" and "internal nodes" when it comes to trees. I wouldn't recommend this book. (I'm only using it because it is the university text, now I wish I had my money back)
#BREAK#
Compared to What?: An Introduction to the Anaylsis of Algorithms (Principles of Computer Science Series)
Compared to What?: An Introduction to the Anaylsis of Algorithms (Principles of Computer Science Series)
Customer Review: An approachable and entertaining introduction to the design and analysis of algorithms.
I strongly disagree with the first comment on this item, entitled "'Cutesy-poo' approach detracts from the content."
As a student in the Computer Science major at Yale University in spring 1994, I used this textbook in Professor Michael Fischer's course, "Computer Science 365b: Design and Analysis of Algorithms."
This book was a welcome breath of fresh air compared to every other title on algorithms that I had ever seen. It described how the study of algorithms need not be daunting, by explaining that every problem at some point did not have a solution, and described in great detail the exploratory process for finding solutions for designing and analyzing algorithms.
Further, it approached the topic in a fun and humorous manner, with numerous quotations and illustrations from works by Lewis Carroll.
It proved an ideal textbook for overcoming the formidable topic of designing and analyzing algorithms for students lacking self-confidence in this topic. This textbook proved to be a key tool for conquering this required course.
Benjamin L. Russell
Customer Review: Making algorithms interesting
Algorithms can be very dry and boring. Anyone who has had a boring tenured professor read directly from his textbook during class understands this.
Rawlins accurately captures the essence of solving theoretical problems, and presents it in a way accesible to a computer science major. (Relevant at the senior or 1st year graduate level) You'll come away with less depth than the Knuth title, but much more appreciation and understanding for the How and Why of problem solving.
This book is one of the very few that survived the trip from classroom to permanent bookshelf.
Wednesday, May 27, 2009
Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications (Chapman & Hall/Crc Computer and Information Sciences

Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications (Chapman & Hall/Crc Computer and Information Sciences)
Natural computing brings together nature and computing to develop new computational tools for problem solving; to synthesize natural patterns and behaviors in computers; and to potentially design novel types of computers. Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications presents a wide-ranging survey of novel techniques and important applications of nature-based computing. This book presents theoretical and philosophical discussions, pseudocodes for algorithms, and computing paradigms that illustrate how computational techniques can be used to solve complex problems, simulate nature, explain natural phenomena, and possibly allow the development of new computing technologies. The author features a consistent and approachable, textbook-style format that includes lucid figures, tables, real-world examples, and different types of exercises that complement the concepts while encouraging readers to apply the computational tools in each chapter. Building progressively upon core concepts of nature-inspired techniques, the topics include evolutionary computing, neurocomputing, swarm intelligence, immunocomputing, fractal geometry, artificial life, quantum computing, and DNA computing. Fundamentals of Natural Computing is a self-contained introduction and a practical guide to nature-based computational approaches that will find numerous applications in a variety of growing fields including engineering, computer science, biological modeling, and bioinformatics.
Customer Review: Great book
I have to study about data mining and the professor recommended this book. After reading it, I think it's a great one. No wonder why the professor likes it.
Tuesday, May 26, 2009
Introduction to Algorithms (MIT Electrical Engineering and Computer Science)

Introduction to Algorithms (MIT Electrical Engineering and Computer Science)
The first edition won the award for Best 1990 Professional and Scholarly Book in Computer Science and Data Processing by the Association of American Publishers. This edition is no longer available. Please see the Second Edition of this title.
Customer Review: The best textbook on algorithms, but it is not a programming book.
I used this book for a graduate level Algorithms course, and I really liked it. It is packed full of content on a wide range of topics. While this book does provide some high-level implementations of algorithms in pseudo-code, you will not find any examples of how to program algorithms in this book. That's really not what this book is meant for anyways.
I found the reading to be easier than Knuth on similar topics, but you still need to have sufficient mathematical background in order to keep up (statistics, discrete math, some calculus). Also, unlike many technical books I've read recently, I did not find any mistakes, not even a typo.
Some people are not aware that the MIT Open Courseware website has some excellent free video course lectures that use this book. I highly recommend at least viewing the first three or four of those lectures if you are new to this topic because they compliment this book very well. Make sure you understand the first four chapters of this book before moving on to other topics.
Also, since it had been a while since I had the math as an undergraduate, I was relieved to learn that this book had several appendices that provided a review of the math topics required by the book.
The only negative about the book is that it does not provide answers to any of the exercises at the end of the chapters, so you really need to use this book in conjunction with a course in order to be able to check your progress and how well you are learning the information. If you're not using this book with a course, check the MIT Open Courseware website that I mentioned previously. It has some sample assignments you can use.
Customer Review: This version has NO CD
There are three versions of the second edition, only one of which has the CD:
The first one is published by the MIT Press, with the title "Introduction to Algorithms". This one has no CD. This is the one Amazon currently carries, so if you buy from Amazon, you get no CD.
The second one is published by McGraw-Hill, also with the title "Introduction to Algorithms". This one also has no CD.
The third one is published by McGraw-Hill too, but has the title "Introduction to Algorithms and Java CD-ROM". This is the one with the CD. It's much more expensive than the other two.
The CD in the third version contains implementations of the algorithms in Java.
To find someone that carries the CD version, search for this ISBN-13 number: 9780072970548 , or for "Introduction to Algorithms and Java CD-ROM" .
Note: Some listings that come up for the ISBN number will not be the correct version. Look carefully for "and Java CD-ROM" before buying.
#BREAK#
The Design and Analysis of Computer Algorithms (Addison-Wesley Series in Computer Science and Information Processing)

The Design and Analysis of Algorithms (Monographs in Computer Science)
The design and analysis of algorithms is one of the two essential cornerstone topics in computer science (the other being automata theory/theory of computation). Every computer scientist has a copy of Knuth's works on algorithms on his or her shelf. Dexter Kozen, a researcher and professor at Cornell University, has written a text for graduate study of algorithms. This will be an important reference book as well as being a useful graduate-level textbook.
Customer Review: covers a lot of topics, sometimes difficult to follow
This book covers a lot of interesting topics and is very up-to-date with current research results in the field. Its main drawback is that it has few examples. It is also at times hard to follow, unless the reader is already somehow familiar with the material.
Customer Review: Excellent supplementary text for a graduate course
This book is basically a set of lecture notes used by Prof. Kozen at Cornell, plus some practise 'homework' exercises.
As such, it isn't really a textbook, and can't be used as the only book for a course in the design and analysis of algorithms - for that, you'll need the books by Aho et al, or Cormen et al. (Knuth's books, of course are great for the topics they cover; and while on the book by Cormen et al, there's a second edition now, since September 2001).
However,this is an excellent self-study supplement. There are 40 lectures, each being a concise, self-contained discussion on a chosen topic. Thus, you get a condensed presentation of the important points, along with invaluable insights from Prof. Kozen.
Another feature which makes this a great option for self-study/rapid review is that each chapter ends with 'homeworks', for which answers have been provided. There's a set of miscellaneous exercises as well.
It is important to realize that this is a graduate text, for those who are already familiar with data structures and algorithms. This is not an introductory text by any means, and would ill serve that purpose.
The author presumes a fairly strong background in basic data structures and algorithms as well as mathematics on the part of the reader, without which it may be very difficult to follow the presentation.
All in all, if you're doing a graduate course in the design and analysis of algorithms, then this is a superb choice for self-study, practising problem-solving and rapid review of already familiar topics.
#BREAK#
Monday, May 25, 2009
Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology

Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology
String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular sequence data produced by various genome projects. This book explains a wide range of computer methods for string processing. It also contains extensive discussions on biological problems that are cast as string problems, and on techniques to solve them. The book is both a reference for computer scientists and computer-oriented professionals in biology and bio-informatics and a textbook for graduate and advanced undergraduate courses on string algorithms and on computational biology.
Customer Review: phenomenal
This book is absolutely excellent. Gusfield walks the reader from simple concepts in string matching through advanced in a way that I found very easy to follow. Every bioinformatics researcher should have copy of this text.
Customer Review: Well Written Text Book
A well written text book with an obvious bias to biological application, but maybe most useful for its clear explanation and rigour of string algorithms.
Sunday, May 24, 2009
Data Structures and Algorithms (Addison-Wesley Series in Computer Science and Information Pr)

Data Structures and Algorithms (Addison-Wesley Series in Computer Science and Information Pr)
Customer Review: Let's not get too excited
Hyperbolic remarks about this book will mislead you into thinking that this book is absolutely unique, when it's not. The material here is standard and present on many, many algorithms and data structures book.
Furthermore, this book is dated, as it uses Pascal. It has very little relevance for today's world of collections of data structures made by experts (on Java, C#, Eiffel, Smalltlak, etc.) which are resources you need to know how to tap into to be more productive.
And as a last point, algorithm analysis is not the strong point of this book either, as it is just a late chapeter in the book and gets nowhere near advanced (i.e., real) algorithmic analysis (for which you will need higher math, such as calculus and probability).
Nevertheless, it's a good book but I don't know if you should buy it instead of that other, nice and new book using Java 5.0 using generics.
Customer Review: An okay book!
It is just an okay book, not extraordinary in any way. Especially, this is certainly not for the novice in this topic, i.e., it is certainly not a good introductory book. So if you are new to data structures and algorithms, stay away from this book, go for some good introductory book.
For the advanced readers, it is an okay book. Better books are available, e.g., books by Cormen et al. and Robert Sedgewick.
The book is written in a way not very intersting or engaging. The algorithms are not explained in detail. Often things are left unexplained or assumed that the reader already knows it. Algorithms are presented in pseudocode, which causes problems especially for the readers familiar to some particular programming language.
