Monday, 20 October 2008

Fundamentals of OOP and Data Structures in Java - Final Part

Couple of Days back i started reading Fundamentals of OOP and Data Structures in Java By Richard Wiener and Lewis J. Pinson

Below are few quotations i found from this book from the final remaining chapters.

1) An association represents a key:value pair.

2) Dictionaries contain associations. The elements in the dictionary may be ordered on the keys of its contained associations or may be nonordered.

3) A dictionary contains elements whose internal order depends on the details of its implementing classes. It is said to be ''nonordered." It contains instances of Object. Interface Dictionary extends Container. A dictionary does not use the comparable property of its contained associations.

4) An ordered dictionary contains elements whose internal order is based on the values of the elements. Its contained objects must be Comparable . For this reason, interface OrderedDictionary extends SearchTable.

5) A dictionary may be implemented as a hash table or a linear list. Lookup performance of the hash table is O(1) compared to O(n) for the list.

6) An ordered dictionary may be implemented as a binary search tree or an ordered list. Lookup performance for the binary search tree is O(n log2 n) compared to O(n) for the ordered list.

7) The need to sort is fundamental. We are interested in finding efficient algorithms to accomplish the task.

8) All the sorting methods are presented as static functions with an array of Comparable as the first parameter and the number of elements to be sorted as the second parameter.

9) Quick Sort, developed by Tony Hoare, is considered by many to be the fastest sorting algorithm in existence. It employs a ''divide and conquer" strategy in which the sorting of a large array is replaced by the sorting of two smaller arrays. Each of these in turn is replaced by two still smaller arrays. This process of replacing a large problem by two smaller problems continues recursively until the array is of size 2.

About the Author

Richard Wiener is Associate Professor of Computer Science at the University of Colorado at Colorado Springs and Editor-in-Chief of The Journal of Object-Oriented Programming. He is the author or co-author of twenty-one textbooks and professional books. In 1983 Richard Wiener received the Outstanding Teacher of the Year Award from the University of Colorado at Colorado Springs. His areas of research include object-oriented software development,simulated annealing and genetic algorithms, time series, and applied statistics.

Lewis J. Pinson is President of CIC and Associate Professor of Computer Science at the University of Colorado at Colorado Springs. His areas of expertise include computer software development, object-oriented problem solving,genetic algorithms, and complexity studies. He develops and presents training courses and intensive short courses and workshops on object-oriented problem solving and object-oriented languages. Dr. Pinson has authored or co-authored eight books.

No comments: