Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, ...
-
Upload
elijah-cross -
Category
Documents
-
view
216 -
download
0
Transcript of Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, ...
![Page 1: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/1.jpg)
Dictionaries
Chapter 17
Slides by Steve ArmstrongLeTourneau University
Longview, TX2007,Prentice Hall
![Page 2: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/2.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Chapter Contents
• Specifications for the ADT Dictionary A Java Interface Iterators
• Using the ADT Dictionary A Directory of Telephone Numbers The Frequency of Words A Concordance of Words
• Java Class Library: the Interface Map
![Page 3: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/3.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Specifications for the ADT Dictionary 1
• Contains entries that each have two parts A key word or search key A value associated with the key
Fig. 17-1 An English dictionary.
![Page 4: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/4.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Specifications for the ADT Dictionary
Fig. 17-2 An instance of an ADT dictionary has pairs of search keys and corresponding values
![Page 5: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/5.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Specifications for the ADT Dictionary 2
• Data Pairs of objects (key, value) Number of pairs in the collection
• Operations• add
• remove
• retrieve
• contains
• traverse keys
• traverse values
• isFull
• get number of entries
• remove all entries
![Page 6: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/6.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Specifications for the ADT Dictionary 3
• Additional refinement possibilities Distinct search keys vs. Duplicate search keys Secondary search keys
• View Java source code for interface
![Page 7: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/7.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Iterators 6• Note that getKeyIterator and getValueIterator
return iterators Create iterators for a dictionary dataBase with
• Possible to traverse All search keys in dictionary without traversing values All values without traversing search keys All search keys and values in parallel
![Page 8: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/8.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Iterators
Fig. 17-3 Two iterators that traverse a dictionary's keys and values in parallel.
![Page 9: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/9.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Using the ADT Dictionary 7
• A directory of telephone numbers
Fig 17-4 A class diagram for a telephone directory.
![Page 10: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/10.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
A Directory of Telephone Numbers
• Consider a client of the class TelephoneDirectory as specified in Fig. 17-4 View source code Note output
• View source code of class TelephoneDirectory
![Page 11: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/11.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
The Frequency of Words 12
• We seek an ADT that will enable us to count each occurrence of a word as it is read from a text file
• View client program which uses FrequenceyCounter Note output
• View class FrequencyCounter used by the client
![Page 12: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/12.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
A Concordance of Words 18• Provide an index for finding a word in a file
Index would give the page number A concordance would give the line number of a
word (in a smaller file of words)
• A word may appear multiple times in the file Appears once in index/concordance The associated data is a list of page/line numbers
• View class Concordance
![Page 13: Dictionaries Chapter 17 Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall.](https://reader036.fdocuments.in/reader036/viewer/2022070323/56649da05503460f94a8b19c/html5/thumbnails/13.jpg)
Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X
Java Class Library: The Interface Map 22
• Package java.util contains interfaceMap <K, V> Similar to our ADT dictionary
• View list of method headers Note similarity to methods developed in this
chapter Differences from our methods are highlighted