Showing posts with label data structures. Show all posts
Showing posts with label data structures. Show all posts

7/25/2012

An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science) Review

An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)
Average Reviews:

(More customer reviews)
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.

Click Here to see more reviews about: An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)

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. * 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 year-long 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

Buy NowGet 48% OFF

Click here for more information about An Introduction to Data Structures and Algorithms (Progress in Theoretical Computer Science)

Read More...

7/21/2012

Data Structures and Algorithms in Java (2nd Edition) Review

Data Structures and Algorithms in Java (2nd Edition)
Average Reviews:

(More customer reviews)
This is an excellent book on data structures and algorithms and would be a great addition to a student's text book. Fortunately Lafore does not dwell on the algorithm analysis as many data structures books do. This is a plus for me, as most texts on the subject get the reader bogged down in the analysis portion of the subject matter. Note: algorithm analysis is a very important subject I just don't believe it should be taught in parallel with data structures to the extent it is. Its easier for me and many others to first learn how to implement data structures and get a feel for their performance then move on to in-depth analysis.
In this book you'll learn the more important data structures without the heavy mathematics many algorithm and data structure books torture readers with. The book is written in very accessible language and the applets really help the inexperienced see the algorithms in action.
As I mentioned this book does not cover algorithm analysis in detail. A step up from this book would be one of Sedgewick's books which provides more detail on the analysis front and some really 'tight' implementations. A good book that focuses on Algorithm Analysis is Intro to Algorithms by Cormen. You better have your math skills up to snuff for the Cormen book however.

Click Here to see more reviews about: Data Structures and Algorithms in Java (2nd Edition)

Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graphical form what data structures look like and how they operate. In the second edition, the program is rewritten to improve operation and clarify the algorithms, the example programs are revised to work with the latest version of the Java JDK, and questions and exercises will be added at the end of each chapter making the book evenmore useful.Educational SupplementSuggested solutions to the programming projects found at the end of each chapter are made available to instructors at recognized educational institutions. This educational supplement can be found at www.prenhall.com, in the Instructor Resource Center.

Buy NowGet 41% OFF

Click here for more information about Data Structures and Algorithms in Java (2nd Edition)

Read More...

7/17/2012

Purely Functional Data Structures Review

Purely Functional Data Structures
Average Reviews:

(More customer reviews)
Okasaki's slim volume is one of the best expositions on implementing data structures & algorithms in a functional language. After taking an introductory course on functional programming, this would be the book which tells you where to go next.
This book doesn't just present a rehash/rewrite of imperative data structures, only written in a functional language. Instead, Okasaki makes sure to emphasize benefits which only functional programming can bring to the table. For example, many functional data structures can compactly represent not just their current state, but all of their past states as well--a feature called "Persistence". Also, functional newbie programmers might be wondering why lazy vs. strict programming is a big deal, and Okasaki shows clearly where data structures can benefit from either being lazy or being strict.
For the advanced reader, Okasaki also presents several powerful techniques for analyzing the runtime of algorithms, including the so-called "Banker's Method" and the "Physicist's Method" for analyzing amortized algorithms.
I hope that Okasaki comes out with a 2nd edition of this book; there is one missing piece in particular which I really wish he would have included: Although he presents an EXTREMELY lucid description of how to implement Red-Black trees in a functional language, he only presented algorithms for insertion and querying. Of course, deletion from a red-black tree is the hardest part, left here, I suppose, as an exercise to the student. If you want to supply this missing piece yourself, check out a paper by Stefan Kars, "Red-black trees with types", J. Functional Programming 11(4):425-432, July, 2001. It presents deletion routines, but you'll still want to read Okasaki's book first, for unless you're very much smarter than me you won't be able to understand Kars' paper until you read Okasaki's exposition of red black trees.
Finally, this book is not just useful for programmers in functional languages; logic programmers, using prolog or a varient, will also find this book very helpful, because most of the techniques (all of the techniques, really, with the exception perhaps of the lazy programming stuff) can be directly applied in a prolog programming setting as well.
After reading this book and implementing some of the data structures for yourself, you'll be amazed at how fast algorithms can run, even when written in a functional language!

Click Here to see more reviews about: Purely Functional Data Structures

Most books on data structures assume an imperative language such as C or C++.However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme.This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures.The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages.All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

Buy NowGet 17% OFF

Click here for more information about Purely Functional Data Structures

Read More...

7/10/2012

Designing Concurrent, Distributed, and Real-Time Applications with UML Review

Designing Concurrent, Distributed, and Real-Time Applications with UML
Average Reviews:

(More customer reviews)
This book provides a practical method to apply the Unified Modeling Language (UML) to design concurrent and distributed software for large systems. While many books have been published to explain the details of the UML notation, this book provides a method, COMET, to approach software design through application of a practical subset of the UML notation. The book contains numerous, extensive case studies and provides pragmatic, useful guidelines to identify distributed subsystems and concurrent tasks from a UML analysis model. The approach described represents a unique and valualbe contribution by the author of this text. Finally, because this book is intended mainly as a text for software design courses, I consulted with a few students who have used this book in a graduate-level software engineering course. All of the students were favorably impressed with the content, clarity, practicality, and detail contained in the book.
Prior to the publication of this text, a software design course based on UML could only be taught using a UML text together with a separate software design text. In this text book, Dr. Gomaa has integrated material from UML and software design in such a form that a software design course can now be taught with this text alone.

Click Here to see more reviews about: Designing Concurrent, Distributed, and Real-Time Applications with UML

In this book, renowned real-time software expert Hassan Gomaa adapts UML to the unique needs of the concurrent, distributed, and real-time applications -- helping developers leverage the powerful flexibility, reliability, and time-to-market benefits associated with UML. Gomaa starts by reviewing the key issues and concepts associated with analysis and design of distributed and real-time applications -- focusing not only on standard object-oriented concepts such as information hiding, classes, and inheritance, but also specialized issues such as finite state machines, concurrent tasks, and real-time scheduling. Next, he introduces the COMET (Concurrent Object Modeling and Architectural Design) Method, a UML-based object-oriented analysis and design method specifically created for concurrent, distributed, and real-time applications. The book presents detailed structuring criteria that assist the designer at every stage of the analysis and design process, and offers exceptional insight into dynamic modeling, concurrency, distributed application design, and performance analysis of real-time designs.Gomaa concludes with several detailed case studies covering a broad range of applications, including systems for banking, e-Commerce, cruise control, factory automation, and more.

Buy NowGet 20% OFF

Click here for more information about Designing Concurrent, Distributed, and Real-Time Applications with UML

Read More...

6/08/2012

Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics) Review

Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics)
Average Reviews:

(More customer reviews)
A stunning 1000 page encyclopedia of spatial, multidimensional, and metric data structures and algorithms presented in the Knuth tradition. The general coverage is broader than an older, now out of print and expensive: "Design and Analysis of Spatial Data Structures". In a surprise, the new book is not only the size of a telephone directory, but it has double the number of useful pages. 4 extensive chapters cover data structures and algorithms for: points, objects and images, intervals and small rectangles, and the same data types in higher +dimensions. Within each chapter, the algorithms and clearly presented and are accompanied by an extensive use of figures. The algorithms which run from the expected to the exotic are summarized by the table of contents at the publisher's web site. Unexpected algorithms are also covered including: nearest neighbor finding which is useful for clustering applications, image pyramids, and object pyramids or hierarchies such as R-trees.The book has a textbook flavor with exercises at the end of each section where specifics are left for the student; however, solutions and pseudo-code for many of the exercises are in a 300+ page appendix maintaining the book as a useful reference. This book is comprehensive, inexpensive, and in my mind - a must have.

Click Here to see more reviews about: Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics)



Buy NowGet 18% OFF

Click here for more information about Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics)

Read More...