Processing ......
FreeComputerBooks.com
Free Computer, Mathematics, Technical Books and Lecture Notes, etc.
 
A Practical Introduction to Data Structures and Algorithm Analysis in C++ and Java
  • Title A Practical Introduction to Data Structures and Algorithm Analysis in C++ and Java
  • Author(s) Clifford A. Shaffer
  • Publisher: Clifford A. Shaffer (July 15, 2010)
  • eBook Online, PDF
  • Language: English
  • ISBN-10: N/A
  • ISBN-13: N/A
  • Share This:  

Book Description

In this text, readers are able to look at specific problems and see how careful implementations can reduce the time constraint for large amounts of data from several years to less than a second. Class templates are used to describe generic data structures and first-class versions of vector and string classes are used. Readers should have some knowledge of intermediate programming, including topics as object-based programming and recursion, and some background in discrete math.

We study data structures so that we can learn to write more efficient programs. But why must programs be efficient when new computers are faster every year? The reason is that our ambitions grow with our capabilities. Instead of rendering efficiency needs obsolete, the modern revolution in computing power and storage capability merely raises the efficiency stakes as we computerize more complex tasks.

The quest for program efficiency need not and should not conflict with sound design and clear coding. Creating efficient programs has little to do with "programming tricks" but rather is based on good organization of information and good algorithms. A programmer who has not mastered the basic principles of clear design is not likely to write efficient programs. Conversely, "software engineering" cannot be used as an excuse to justify inefficient performance. Generality in design can and should be achieved without sacrificing performance, but this can only be done if the designer understands how to measure performance and does so as an integral part of the design and implementation process. Most computer science curricula recognize that good programming skills begin with a strong emphasis on fundamental software engineering principles. Then, once a programmer has learned the principles of clear program design and implementation, the next step is to study the effects of data organization and algorithms on program efficiency.

About the Authors
  • Clifford A. Shaffer is a professor of Computer Science at Virginia Tech .

Reviews and Rating:

  • N/A

Related Book Categories:

Read and Download Links:
Book Categories
Other Categories
Resources and Links