전체 페이지뷰

2013년 9월 1일 일요일

The Need for Data Structures and Philosophy

This book has three primary goals.

The first is to present the commonly used data structures.
These form a programmer’s basic data structure “toolkit.” For many problems, some data structure in the toolkit provides a good solution.

The second goal is to introduce the idea of trade offs and reinforce the concept
that there are costs and benefits associated with every data structure. This is done
by describing, for each data structure, the amount of space and time required for
typical operations.

The third goal is to teach how to measure the effectiveness of a data structure or
algorithm. Only through such measurement can you determine which data structure
in your toolkit is most appropriate for a new problem. The techniques presented
also allow you to judge the merits of new data structures that you or others might
invent.

1. To design an algorithm that is easy to understand, code, and debug.
2. To design an algorithm that makes efficient use of the computer’s resources.


A solution is said to be efficient if it solves the problem within the required
resource constraints.

When selecting a data structure to solve a problem, you should follow these
steps.
1. Analyze your problem to determine the basic operations that must be supported.
Examples of basic operations include inserting a data item into the
data structure, deleting a data item from the data structure, and finding a
specified data item.
2. Quantify the resource constraints for each operation.
3. Select the data structure that best meets these requirements.
This three-step approach to selecting a data structure operationalizes a datacentered
view of the design process.

from Data structures and algorithms analysis in java

댓글 없음:

댓글 쓰기